diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 27c8cb6..7f7d1fc 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -1,4 +1,4 @@
-Rat 0.12 (SNAPSHOT)
+Rat 0.12
 ===================
 
  * We now require Maven 3.0.5+ to build Rat, but as before we only require
diff --git a/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java b/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java
index 65c9042..4e883ec 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenseAppender.java
@@ -67,6 +67,8 @@
     private static final int TYPE_BEANSHELL = 23;
     private static final int TYPE_JSP = 24;
     private static final int TYPE_FML = 25;
+    private static final int TYPE_GO = 26;
+    private static final int TYPE_PM = 27;    
 
     /**
      * the line separator for this OS
@@ -76,14 +78,14 @@
     private static final int[] FAMILY_C = new int[]{
             TYPE_JAVA, TYPE_JAVASCRIPT, TYPE_C, TYPE_H, TYPE_SCALA,
             TYPE_CSS, TYPE_CPP, TYPE_CSHARP, TYPE_PHP, TYPE_GROOVY,
-            TYPE_BEANSHELL,
+            TYPE_BEANSHELL, TYPE_GO,
     };
     private static final int[] FAMILY_SGML = new int[]{
             TYPE_XML, TYPE_HTML, TYPE_JSP, TYPE_FML,
     };
     private static final int[] FAMILY_SH = new int[]{
             TYPE_PROPERTIES, TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL,
-            TYPE_TCL, TYPE_VISUAL_STUDIO_SOLUTION,
+            TYPE_TCL, TYPE_VISUAL_STUDIO_SOLUTION, TYPE_PM,
     };
     private static final int[] FAMILY_BAT = new int[]{
             TYPE_BAT,
@@ -95,13 +97,13 @@
             TYPE_VM,
     };
     private static final int[] EXPECTS_HASH_PLING = new int[]{
-            TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL, TYPE_TCL
+            TYPE_PYTHON, TYPE_SH, TYPE_RUBY, TYPE_PERL, TYPE_TCL,
     };
     private static final int[] EXPECTS_AT_ECHO = new int[]{
             TYPE_BAT,
     };
     private static final int[] EXPECTS_PACKAGE = new int[]{
-            TYPE_JAVA,
+            TYPE_JAVA, TYPE_GO, TYPE_PM,
     };
     private static final int[] EXPECTS_XML_DECL = new int[]{
             TYPE_XML,
@@ -149,6 +151,7 @@
         EXT2TYPE.put("fxcop", Integer.valueOf(TYPE_XML));
         EXT2TYPE.put("fml", Integer.valueOf(TYPE_FML));
         EXT2TYPE.put("groovy", Integer.valueOf(TYPE_GROOVY));
+        EXT2TYPE.put("go", Integer.valueOf(TYPE_GO));
         EXT2TYPE.put("h", Integer.valueOf(TYPE_H));
         EXT2TYPE.put("hh", Integer.valueOf(TYPE_H));
         EXT2TYPE.put("hpp", Integer.valueOf(TYPE_H));
@@ -161,6 +164,7 @@
         EXT2TYPE.put("nunit", Integer.valueOf(TYPE_XML));
         EXT2TYPE.put("php", Integer.valueOf(TYPE_PHP));
         EXT2TYPE.put("pl", Integer.valueOf(TYPE_PERL));
+        EXT2TYPE.put("pm", Integer.valueOf(TYPE_PM));
         EXT2TYPE.put("properties", Integer.valueOf(TYPE_PROPERTIES));
         EXT2TYPE.put("py", Integer.valueOf(TYPE_PYTHON));
         EXT2TYPE.put("rb", Integer.valueOf(TYPE_RUBY));
@@ -617,4 +621,4 @@
         return true;
     }
 
-}
+}
\ No newline at end of file
diff --git a/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java b/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
index 16fa79e..fcbc49a 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
@@ -282,6 +282,7 @@
             "FV",
             "GRM",
             "G",
+            "GO",
             "H",
             "HTACCESS",
             "HTML",
@@ -291,11 +292,12 @@
             "JMX",
             "JSP",
             "JS",
+            "JSON",
             "JUNIT",
             "JX",
+            "M4",            
             "MANIFEST",
-            "M4",
-            "MF",
+            "MD",
             "MF",
             "META",
             "MOD",
@@ -361,5 +363,4 @@
                 isBinaryDocument(document);
     }
 
-
 }
diff --git a/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenseAppender.java b/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenseAppender.java
index 0c58154..1593694 100644
--- a/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenseAppender.java
+++ b/apache-rat-core/src/test/java/org/apache/rat/annotation/TestLicenseAppender.java
@@ -403,6 +403,23 @@
     }
 
     @Test
+    public void addLicenseToPerlModule() throws IOException {
+        String filename = "tmp.pm";
+        final String firstLine = "package API::TestAPI;";
+        final String secondLine = ""; 
+        final String thirdLine = "#" + FIRST_LICENSE_LINE;
+
+        commonTestTemplate(filename, new FileCreator() {
+                    public void createFile(Writer writer)
+                            throws IOException {
+                        writer.write(firstLine + "\n");
+                        writer.write("print \"Hello world\"\n");
+                    }
+                },
+                checkLines(firstLine, secondLine, thirdLine));
+    }    
+
+    @Test
     public void addLicenseToTclWithoutHashBang()
             throws IOException {
         String filename = "tmp.tcl";
@@ -502,6 +519,27 @@
     }
 
     @Test
+    public void addLicenseToGo() throws IOException {
+        String filename = "tmp.go";
+        final String firstLine = "package main";
+        String secondLine = "";
+        String thirdLine = "/*";
+        
+        		
+
+        commonTestTemplate(filename, new FileCreator() {
+                    public void createFile(Writer writer)
+                            throws IOException {
+                        writer.write(firstLine + "\n");
+                        writer.write("import (\n");
+                        writer.write("    log\n");
+                        writer.write(")\n");
+                    }
+                },
+                checkLines(firstLine, secondLine, thirdLine));
+    }    
+
+    @Test
     public void fileWithBOM() throws IOException {
         File f = Resources.getResourceFile("violations/FilterTest.cs");
         try {
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 27889c1..c93bd47 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -20,7 +20,7 @@
 This file is also used by the maven-changes-plugin to generate the release notes.
 Useful ways of finding items to add to this file are:
 
-1.  Add items when you fix a bug or add a feature (this makes the 
+1.  Add items when you fix a bug or add a feature (this makes the
 release process easy :-).
 
 2.  Do a JIRA search for tickets closed since the previous release.
@@ -31,7 +31,7 @@
 To generate the release notes from this file:
 
 mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nn]
-then tweak the formatting if necessary 
+then tweak the formatting if necessary
 and commit
 
 The <action> type attribute can be add,update,fix,remove.
@@ -40,7 +40,7 @@
     issue - required
     type - required
     the rest are optional; order not important
-    
+
     having the issue number first makes it easier to read the XML outline
 
 -->
@@ -54,11 +54,17 @@
   </properties>
 
   <body>
+    <release version="0.13" date="2016-xx-xx" description="Current SNAPSHOT - to be done">
+      <action issue="RAT-223" type="fix" due-to="Eric Friedrich" dev="pottlinger">
+        Add support for Golang and Perl module files.
+      </action>
+    </release>
+
     <release version="0.12" date="2015-09-30" description=
 " We now require Maven 3.0.5+ to build Rat, but as before we only require
  Maven 2.2.1+ if you want to use Rat in your own Maven projects.
 
-We've integrated Rat into the ASF Jenkins to ensure continuous builds with various JDK versions. 
+We've integrated Rat into the ASF Jenkins to ensure continuous builds with various JDK versions.
 ">
       <action issue="RAT-215" type="fix" dev="pottlinger">
         Add WOFF2, WOFF, TTF and EOT font file extensions to binary file collection to allow faster detection as binary without reading in the files.
@@ -102,7 +108,7 @@
         Maven plugin and Ant task do not support adding extra approved licenses.
       </action>
       <action issue="RAT-180" type="fix" dev="pottlinger">
-        Generify and beautify texts in RAT report. 
+        Generify and beautify texts in RAT report.
       </action>
       <action issue="RAT-196" type="add" due-to="Karl Heinz Marbais" dev="pottlinger">
         Minor refactoring in pom.xml.
@@ -185,7 +191,7 @@
     <action issue="RAT-165" type="add">Use a maven defaultGoal for RAT's base pom.xml</action>
     </release>
     <release version="0.10" date="2013-09-05" description=
-"The 0.10 version includes several bug fixes, 
+"The 0.10 version includes several bug fixes,
 most notably a fix for 0.9 performance issues.
  * Simpler binary archive
  * Updated dependencies and plugins
