Changelog for Glob-0.5.1

If this renders badly as markdown, see the plain text version

0.5.1, 2010-11-23: Update dependencies to allow for mtl 2.0.

0.5, 2009-12-01: New functions: System.FilePath.Glob.globDir :: Pattern -> FilePath -> IO [FilePath]

0.4, 2009-01-31: New functions: System.FilePath.Glob.commonDirectory :: Pattern -> (FilePath, Pattern)

    System.FilePath.Glob.simplify  :: Pattern -> Pattern
    System.FilePath.Glob.decompile :: Pattern -> String

    System.FilePath.Glob.tryCompileWith :: CompOptions -> String -> Either String Pattern
    System.FilePath.Glob.compileWith    :: CompOptions -> String -> Pattern
    System.FilePath.Glob.compDefault    :: CompOptions
    System.FilePath.Glob.compPosix      :: CompOptions

    System.FilePath.Glob.matchWith     :: MatchOptions -> Pattern -> FilePath -> Bool
    System.FilePath.Glob.globDirWith   :: MatchOptions -> [Pattern] -> FilePath -> IO ([[FilePath]], [FilePath])
    System.FilePath.Glob.matchDefault  :: MatchOptions
    System.FilePath.Glob.matchPosix    :: MatchOptions

    System.FilePath.Glob.Primitives.literal           :: String -> Pattern
    System.FilePath.Glob.Primitives.singleWildcard    :: Pattern
    System.FilePath.Glob.Primitives.wildcard          :: Pattern
    System.FilePath.Glob.Primitives.recursiveWildcard :: Pattern
    System.FilePath.Glob.Primitives.charRange         :: Bool -> [Either Char (Char,Char)] -> Pattern
    System.FilePath.Glob.Primitives.numberRange       :: Maybe Integer -> Maybe Integer -> Pattern

Removed functions:
    System.FilePath.Glob.tryCompile (no longer needed / superceded by tryCompileWith)

New instances:
    Monoid Pattern
    Read Pattern

Change: ".." can now be matched, by patterns such as ".*".
Change: globDir, given "" as the directory, uses getCurrentDirectory.
Change: globDir now keeps track of the number of path separators, thus
        "a//*" will return "a//b" instead of "a/b" as a match result.
Change: if character ranges begin with ! or ^, these characters are now
        considered the start of the range: [^-~] is the range ^ through ~,
        not the inverse of [-~].

Regression fix: handle directories without read permissions even more

Bug fix: globDir doesn't convert patterns like "a./b" to "ab".
Bug fix: the Show instance used to show "[?]" as the very different "?" (and
         a few similar cases).
Bug fix: "//./" wasn't getting optimized properly.
Bug fix: ".//a" matched "/a" and not "a" or "./a".
Bug fix: "f**/a" didn't match "foo/a".
Bug fix: ".**/a" didn't match ".foo/a".
Bug fix: ".**/a" matched "../a".
Bug fixes: globDir and match, in general, handled patterns starting with
           ".*" or ".**/" quite differently.
Bug fix: globDir never matched "foo/" to the directory "foo".
Bug fix: globDir never matched "foo**/" to the directory "foo".
Bug fix: show (compile "[a!b]") resulted in "[!ab]".

0.3.2, 2008-12-20: Regression fix: handle directories without read permissions properly.

Convenience for developers: -XTemplateHaskell no longer barfs on

0.3.1, 2008-10-31: Corrected the Cabal-Version field.

0.3, 2008-10-19: Further performance improvements to globDir. Bug fix: handle empty pattern lists correctly in globDir. Added dependency: Win32, for Windows OSs.

0.2, 2008-10-18: Performance improvements to globDir, no functionality changes. Added dependency: dlist.

0.1, 2008-10-17: Initial release.

    System.FilePath.Glob.tryCompile :: String -> Either String Pattern
    System.FilePath.Glob.compile    :: String -> Pattern
    System.FilePath.Glob.match      :: Pattern -> FilePath -> Bool
    System.FilePath.Glob.globDir    :: [Pattern] -> FilePath -> IO ([[FilePath]], [FilePath])

Dependencies: base, containers, directory, filepath, mtl.