Merge branch '2.6'

Conflicts:
	pom.xml
	release-notes/VERSION
diff --git a/release-notes/VERSION b/release-notes/VERSION
index d5869c8..8ef10c5 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -26,6 +26,12 @@
 - Implemented `ReaderBasedJsonParser.nextFieldName(SerializableString)`
   (to improved Afterburner performance over String/char[] sources)
 
+2.6.6 (not yet released)
+
+#248: VersionUtil.versionFor() unexpectedly return null instead of Version.unknownVersion()
+ (reported by sammyhk@github)
+
+2.6.5 (19-Jan-2015)
 2.6.4 (07-Dec-2015)
 
 No changes since 2.6.3.
diff --git a/src/main/java/com/fasterxml/jackson/core/util/VersionUtil.java b/src/main/java/com/fasterxml/jackson/core/util/VersionUtil.java
index 349d086..4c121ad 100644
--- a/src/main/java/com/fasterxml/jackson/core/util/VersionUtil.java
+++ b/src/main/java/com/fasterxml/jackson/core/util/VersionUtil.java
@@ -77,24 +77,26 @@
     /**
      * Loads version information by introspecting a class named
      * "PackageVersion" in the same package as the given class.
-     *
+     *<p>
      * If the class could not be found or does not have a public
      * static Version field named "VERSION", returns null.
      */
     public static Version packageVersionFor(Class<?> cls)
     {
+        Version v = null;
         try {
             String versionInfoClassName = cls.getPackage().getName() + ".PackageVersion";
             Class<?> vClass = Class.forName(versionInfoClassName, true, cls.getClassLoader());
             // However, if class exists, it better work correctly, no swallowing exceptions
             try {
-                return ((Versioned) vClass.newInstance()).version();
+                v = ((Versioned) vClass.newInstance()).version();
             } catch (Exception e) {
                 throw new IllegalArgumentException("Failed to get Versioned out of "+vClass);
             }
         } catch (Exception e) { // ok to be missing (not good but acceptable)
-            return null;
+            ;
         }
+        return (v == null) ? Version.unknownVersion() : v;
     }
 
     /**
@@ -147,7 +149,7 @@
                     (parts.length > 3) ? parts[3] : null,
                     groupId, artifactId);
         }
-        return null;
+        return Version.unknownVersion();
     }
 
     protected static int parseVersionPart(String s) {