diff --git a/changes.txt b/changes.txt
--- a/changes.txt
+++ b/changes.txt
@@ -1,14 +1,20 @@
+0.1.7.0
+-------
+
+- Released Sun 22 Nov 2015 18:18:46 CET
+- Case insensitive extensions (patch by Mats Rauhala).
+
 0.1.6.2
 -------
 
 - Released Fri 02 Oct 2015 08:06:22 CEST
-- fixed broken test (missing file in extra-source-file)
+- fixed broken test (missing file in extra-source-file).
 
 0.1.6.1
 -------
 
 - Released Thu 01 Oct 2015 11:50:44 CEST
-- added stack.yaml to extra-source-files
+- added stack.yaml to extra-source-files.
 
 0.1.6.0
 -------
diff --git a/contributors.txt b/contributors.txt
--- a/contributors.txt
+++ b/contributors.txt
@@ -1,8 +1,11 @@
+(in alphabetical order)
+
 Francesco Ariis
-Larsen
 Francesco Mazzoli
 Simon Michael
 Qptain Nemo
+Mats Rauhala
+Stefano Rodighiero
 Peter Simons
 Henning Thielemann
 Tomislav
diff --git a/doc/usr/page.rst b/doc/usr/page.rst
--- a/doc/usr/page.rst
+++ b/doc/usr/page.rst
@@ -196,10 +196,17 @@
 As the last example highlight, if you use these options together, they
 will be chained using a boolean ``AND``.
 
-To negate an ``EXPR`` (i.e. to search for issues which have *not* the word
-"urgent" in them, etc.) use the corresponding capitalised option flags
-``-T``, ``-P``, ``-D``. Orphan (tagless) issues are sometimes a nuisance,
-a handy way to list them is:
+To negate an ``EXPR`` use the corresponding capitalised option flags
+``-T``, ``-P``, ``-D``:
+
+::
+
+  # lists all issues *without* the word "urgent" in their description
+  lentil . -D urgent
+
+
+Orphan (tagless) issues are sometimes a nuisance, a handy way to list
+them is:
 
 ::
 
diff --git a/lentil.cabal b/lentil.cabal
--- a/lentil.cabal
+++ b/lentil.cabal
@@ -1,5 +1,5 @@
 name:                lentil
-version:             0.1.6.2
+version:             0.1.7.0
 synopsis:            frugal issue tracker
 description:         minumum effort, cohesive issue tracker based on
                      ubiquitous @TODO@s and @FIXME@s conventions.
diff --git a/src/Lentil/Parse/Syntaxes.hs b/src/Lentil/Parse/Syntaxes.hs
--- a/src/Lentil/Parse/Syntaxes.hs
+++ b/src/Lentil/Parse/Syntaxes.hs
@@ -19,18 +19,18 @@
 
 import qualified System.FilePath as SF
 
+import Data.Char (toLower)
 
+
 -- as langParser, with alias added
 langParserAlias :: [Alias] -> String -> Maybe (ParSource [CommentString])
 langParserAlias as fp = maybe (langParser fp) langParser (lookup ext as)
-    where ext = SF.takeExtension fp
+    where ext = map toLower (SF.takeExtension fp)
 
 
 -- TODO: add langparsers che sia estensibile e leggibile
 --       a compilazione [u:2] [feature:intermediate]
 
--- TODO: [u:3] extensions are case sensisive (no good)
-
 langParser :: String -> Maybe (ParSource [CommentString])
 langParser fp | ext `elem` [".hs", ".lhs",
                             ".hsc", ".chs" ]       = Just haskell
@@ -47,7 +47,7 @@
               | ext `elem` [".nix"]                = Just nix
               | ext `elem` [".txt"]                = Just text
               | otherwise                          = Nothing
-    where ext = SF.takeExtension fp
+    where ext = map toLower (SF.takeExtension fp)
 
 -- todo multiline signature? [lint]
 haskell, c, javascript, pascal, python, ruby :: ParSource [CommentString]
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -28,7 +28,7 @@
                                    short 'v'      <>
                                    help "show version and copyright info" )
     where
-          versionCopy = "lentil - frugal issue tracker, version 0.1.6.2\n\
+          versionCopy = "lentil - frugal issue tracker, version 0.1.7.0\n\
                         \(C) 2015 Francesco Ariis - http://www.ariis.it\n\
                         \released under the GNU General Public License v3\n"
 
diff --git a/test/Lentil/Parse/IssueSpec.hs b/test/Lentil/Parse/IssueSpec.hs
--- a/test/Lentil/Parse/IssueSpec.hs
+++ b/test/Lentil/Parse/IssueSpec.hs
@@ -113,7 +113,7 @@
     it "parses an issue not ended by \\n" $
       sp issue "\ntodo block1 "
          `shouldBe` (Just $ Issue "<f>" 2 (Just "block1") [])
-    it "doesn't display the eventual \n at eof" $
+    it "doesn't display the eventual \\n at eof" $
       sp issue "\nTOdO: this is it\n"
          `shouldBe` (Just $ Issue "<f>" 2 (Just "this is it") [])
     it "does accept a lone (naked) todo" $
diff --git a/test/Lentil/Parse/RunSpec.hs b/test/Lentil/Parse/RunSpec.hs
--- a/test/Lentil/Parse/RunSpec.hs
+++ b/test/Lentil/Parse/RunSpec.hs
@@ -26,16 +26,20 @@
 spec :: Spec
 spec = do
 
+  let spt fp = [Issue fp 1 (Just "single comment") [],
+                Issue fp 3 (Just "single2") [],
+                Issue fp 8 (Just "block1")  [],
+                Issue fp 9 (Just "block2") [Tag "tog"]]
+
   describe "commentParser - specific" $ do
     it "doesn't parse contiguous line/block as a single issue" $
         fileParser [] "test/test-files/specific/contiguous.c"
             `shouldReturn` [Issue "test/test-files/specific/contiguous.c" 1
                                   (Just "issue1") []]
+    it "does parse files with uppercase extension" $
+        fileParser [] "test/test-files/specific/uppercase.C"
+            `shouldReturn` spt "test/test-files/specific/uppercase.C"
 
-  let spt fp = [Issue fp 1 (Just "single comment") [],
-                Issue fp 3 (Just "single2") [],
-                Issue fp 8 (Just "block1")  [],
-                Issue fp 9 (Just "block2") [Tag "tog"]]
   describe "commentParser - languages" $ do
     it "parses a plain text source" $
         fileParser [] "test/test-files/lang-comm/text.txt"
