diff --git a/webconsole/changelog.txt b/webconsole/changelog.txt
index a205fc8..e813a9b 100644
--- a/webconsole/changelog.txt
+++ b/webconsole/changelog.txt
@@ -1,3 +1,52 @@
+Changes from 4.0.0 to 4.2.0
+---------------------------
+
+** Bug
+    * [FELIX-3318] - NPE in WebConsole when trying to uninstall a bundle
+    * [FELIX-3570] - Commons IO dependency issue
+    * [FELIX-3605] - Configuration Status plugin has an error in IE/Compatibility View
+    * [FELIX-3614] - In latest webconsole no property descriptors are available
+    * [FELIX-3663] - Java Runtime in the System Information tab appears as 'null(build null)' in Skelmir CEE-J VM
+    * [FELIX-3666] - NPE when uninstalling a bundle
+    * [FELIX-3694] - In some cases web console cannot edit configs without metatype
+    * [FELIX-3760] - Clean webconsole startup and disposal
+    * [FELIX-3783] - ConfigurationAdminConfigurationPrinter failing if Configuration Admin API not bound
+    * [FELIX-3784] - Configuration Admin tab not working when Metatype Service API is missing
+    * [FELIX-3795] - JS Error in Configuration Status printing
+    * [FELIX-3814] - Javascript error when directly invoking a configuration with IE8
+    * [FELIX-3829] - NullPointerException when creating configuration with multi-value password properties
+    * [FELIX-3841] - CSS issues in IE with Web Console menus
+    * [FELIX-3936] - Main menu items hidden in the Configuration Status page
+    * [FELIX-3946] - NullPointerException in BundleServlet.bundleDetails when not called through HTTP
+    * [FELIX-3965] - threads configuration status generates invalid results
+    * [FELIX-3969] - web console shows invalid bundle symbolic name
+    * [FELIX-3986] - ThreadDumper comparators are not correctly implemented
+
+** Improvement
+    * [FELIX-2234] - Reduce status information from bundle plugin
+    * [FELIX-3594] - Service should be sorted by ID in service configuration printer
+    * [FELIX-3798] - Make default category configurable
+    * [FELIX-3799] - Sort plugin plugin links by title
+    * [FELIX-3800] - Support Category Translation
+    * [FELIX-3848] - Differentiate between unbound and new configuration
+    * [FELIX-3851] - Allow for refresh after bundle update/install
+    * [FELIX-3861] - Set felix.webconsole.category on Web Console plugins
+    * [FELIX-3879] - [PATCH] overridable client scripts for the webconsole
+    * [FELIX-3880] - [PATCH] placeholders for help links in the webconsole
+    * [FELIX-3951] - Let users able to specify the directory used to temporarily store uploaded files
+
+** New Feature
+    * [FELIX-2896] - Add support for bundle info providers
+    * [FELIX-3769] - Improve the way Web Console UI manages growing number of plugins.
+    * [FELIX-3770] - Upgrade jquery-ui to 1.9.1
+
+** Task
+    * [FELIX-3778] - Create all-in-one WebConsole build again
+    * [FELIX-3833] - Consider backwards compatibility break with label map due to Categories
+    * [FELIX-3834] - Create separate language fragment bundles
+    * [FELIX-3874] - Create new status printer module
+
+
 Changes from 3.1.8 to 4.0.0
 ---------------------------
 
