Preparing the v0.4 release

Update version strings
Update the Changelog and README
Update copyright year in various files

Change-Id: If746211e0b36e59d4f3de977b81df082f2da9fe3
diff --git a/Changelog b/Changelog
index 00d88f9..4ce2fe8 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,24 @@
+vland 0.4
+
+ * Large numbers of bugfixes and code cleanups
+ * Code changes for integration with LAVA:
+   + Added db.find_lowest_unused_vlan_tag()
+   + create_vlan() with a tag of -1 will find and allocate the first
+     unused tag automatically
+ * Add port *numbers* as well as names to the ports database, to give
+   human-recognisable references. See README.port-numbering for more
+   details.
+ * Add tracking of trunks, the inter-switch connections, needed for
+   visualisation diagrams.
+ * Add a simple http-based visualisation feature:
+   + Generate network diagrams on-demand based on the information in the
+     VLANd database, colour-coded to show port configuration
+   + Generate a simple website to reference those diagrams.
+ * Allow more ports to be seen on Catalyst switches
+ * Add a systemd service file for vland
+
+ -- Steve McIntyre <steve.mcintyre@linaro.org>  Thu, 24 Sep 2015 17:00:03 -0700
+
 vland 0.3
 
  * Massive numbers of bugfixes and code cleanups
diff --git a/README b/README
index ad727aa..9929f71 100644
--- a/README
+++ b/README
@@ -66,6 +66,11 @@
 postgres server and psycopg2, for the back-end database. See
 db/setup_db.py for help in setting up the database for access.
 
+If you want to use the visualisation feature, you'll need to install
+python-gd (used for generating the graphics) and a font for it to
+use. The default font suggested is Inconsolata, but others should work
+too.
+
 How to use
 ==========
 
@@ -78,6 +83,9 @@
 is single-threaded and has *no* security. This *will* change in the
 future, but for very early development has not been a priority.
 
+The visualisation interface has very few configuration options as
+yet - again, see the default vland.cfg.
+
 Future plans
 ============
 
@@ -85,7 +93,7 @@
 
  * More documentation
  * More drivers to control more devices, both real and virtual
- * Visualisation options
+ * Improved visualisation options
  * Better (some!) security
  * Background sanity checking
  * Other filtering options - MAC-based rather than just port-based
@@ -111,5 +119,5 @@
 the accompanying COPYING file for more details.
 
 --------------------------------------------------------------------------
-README for VLANd 0.3, 31st July 2015
+README for VLANd 0.4, 24th September 2015
 Steve McIntyre <steve.mcintyre@linaro.org>
diff --git a/admin.py b/admin.py
index cf647b0..d9b8cc6 100755
--- a/admin.py
+++ b/admin.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
 from config.config import VlanConfig
 from ipc.ipc import VlanIpc
 
-version = "0.4-DEV"
+version = "0.4"
 banner = "Linaro VLANd admin interface, version %s" % version
 
 TRUNK_ID_NONE = -1
diff --git a/config/__init__.py b/config/__init__.py
index c6633da..89e40d5 100644
--- a/config/__init__.py
+++ b/config/__init__.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/config/config.py b/config/config.py
index 9ed09eb..8615c62 100644
--- a/config/config.py
+++ b/config/config.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #  Author: Steve McIntyre <steve.mcintyre@linaro.org>
 #
 #  This program is free software; you can redistribute it and/or modify
diff --git a/db/setup_db.py b/db/setup_db.py
index aa7cb29..51e8f83 100755
--- a/db/setup_db.py
+++ b/db/setup_db.py
@@ -1,7 +1,8 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
-#  Author: Dave Pigott <dave.pigot@linaro.org>
+#  Copyright 2014-2015 Linaro Limited
+#  Authors: Dave Pigott <dave.pigot@linaro.org>,
+#           Steve McIntyre <steve.mcintyre@linaro.org>
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/drivers/CiscoCatalyst.py b/drivers/CiscoCatalyst.py
index fb55ba1..c87072a 100644
--- a/drivers/CiscoCatalyst.py
+++ b/drivers/CiscoCatalyst.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/drivers/CiscoSX300.py b/drivers/CiscoSX300.py
index 083bfcc..f89f38d 100644
--- a/drivers/CiscoSX300.py
+++ b/drivers/CiscoSX300.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/drivers/TPLinkTLSG2XXX.py b/drivers/TPLinkTLSG2XXX.py
index 7402c59..2b6048a 100644
--- a/drivers/TPLinkTLSG2XXX.py
+++ b/drivers/TPLinkTLSG2XXX.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/drivers/common.py b/drivers/common.py
index 6832f3b..1d19868 100644
--- a/drivers/common.py
+++ b/drivers/common.py
@@ -1,7 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
-
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/errors.py b/errors.py
index a812883..aec4619 100644
--- a/errors.py
+++ b/errors.py
@@ -1,5 +1,6 @@
-#  Copyright 2014 Linaro Limited
-#  Author: Dave Pigott <dave.pigot@linaro.org>
+#  Copyright 2014-2015 Linaro Limited
+#  Authors: Dave Pigott <dave.pigot@linaro.org>,
+#           Steve McIntyre <steve.mcintyre@linaro.org>
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/ipc/ipc.py b/ipc/ipc.py
index f54b07f..a7c6c49 100644
--- a/ipc/ipc.py
+++ b/ipc/ipc.py
@@ -1,4 +1,4 @@
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
diff --git a/setup.py b/setup.py
index 828a6ad..efd6994 100755
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 #
-# Copyright (C) 2014 Linaro Limited
+# Copyright (C) 2014-2015 Linaro Limited
 #
 # Author: Steve McIntyre <steve.mcintyre@linaro.org>
 #
diff --git a/vland.py b/vland.py
index 9233cb9..335dbe5 100755
--- a/vland.py
+++ b/vland.py
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 
-#  Copyright 2014 Linaro Limited
+#  Copyright 2014-2015 Linaro Limited
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@
     """ Simple container for stuff to make for nicer syntax """
 
 state = DaemonState()
-state.version = "0.4-DEV"
+state.version = "0.4"
 state.banner = "Linaro VLANd version %s" % state.version
 state.starttime = time.time()
 state.vis = None