Changelog for filepath
package
Note: below all FilePath
values are unquoted, so \\
really means two backslashes.
- Don't catch async exceptions in internal functions wrt haskell/os-string#22
- Adjust for
encodeFS
/decodedFS
deprecation in os-string
- Fix a bug in
[splitFileName](https://github.com/haskell/filepath/issues/219)
- make
osp :: QuasiQuoter
valid as a pattern wrt #210 - Add
unsafeEncodeUtf
from os-string
- remove
OsString
modules
- deprecate
OsString
modules
- Fix isInfixOf and breakSubString in Word16, wrt #195
- Fix a regression in
splitFileName
wrt #189
- Speed up
splitFileName
,splitExtension
,readDriveLetter
and various other helpers (up to 20x faster) by @Bodigrim
- Fix regression in
System.FilePath.Windows.normalise
wrt #187 - Fix tests on GHC 9.4.4
- Avoid head and tail
Implementation of the Abstract FilePath Proposal in user-space as a separate type.
Introduction to the new API is explained in this blog post.
This release is purely a documentation release, fixing the broken haddock links.
This release affects users who apply downstream patches to System.FilePath.Internal
,
since System.FilePath.Posix
and System.FilePath.Windows
are now generated via make cpp
during development.
To make your patch apply, either apply it to System.FilePath.Posix
and System.FilePath.Windows
instead or run make cpp
after applying your patch.
- Document relation between
joinPath
and(</>)
wrt #82, #82 - Clarify that
normalise
does not remove..
wrt #86 - Make clear that
equalFilePath
does not expand..
wrt #87 - Fix haddock source links by manually cpping wrt #81
- Make export list in
System.FilePath
explicit to get haddocks on the landing module
- Bundled with GHC 8.6.1
-
Bundled with GHC 8.4.1
-
Add
isExtensionOf
function.
- Bundled with GHC 8.2.1
-
Bundled with GHC 8.0.2
-
Documentation improvements
-
Bundled with GHC 8.0.1
-
Add
replaceExtensions
andstripExtension
functions. -
Make
isValid
detect more invalid Windows paths, e.g.nul .txt
andfoo\nbar
. -
Improve the documentation.
-
Bug fix:
isValid "\0"
now returnsFalse
, instead ofTrue
-
Bundled with GHC 7.10.1
-
New function: Add
-<.>
as an alias forreplaceExtension
. -
Semantic change:
joinDrive /foo bar
now returns/foo/bar
, instead of/foobar
-
Semantic change: on Windows,
splitSearchPath File1;\"File 2\"
now returns[File1,File2]
instead of[File1,\"File2\"]
-
Bug fix: on Posix systems,
normalise //home
now returns/home
, instead of//home
-
Bug fix:
normalise /./
now returns/
on Posix and\
on Windows, instead of//
and\\
-
Bug fix:
isDrive ""
now returnsFalse
, instead ofTrue
-
Bug fix: on Windows,
dropTrailingPathSeparator /
now returns/
unchanged, instead of the normalised\
-
Bug fix: on Windows,
equalFilePath C:\ C:
now returnsFalse
, instead ofTrue
-
Bug fix: on Windows,
isValid \\\foo
now returnsFalse
, instead ofTrue
-
Bug fix: on Windows,
isValid \\?\D:file
now returnsFalse
, instead ofTrue
-
Bug fix: on Windows,
normalise \
now returns\
unchanged, instead of\\
-
Bug fix: on Windows,
normalise C:.\
now returnsC:
, instead ofC:\\
-
Bug fix: on Windows,
normalise //server/test
now returns\\server\test
, instead of//server/test
unchanged -
Bug fix: on Windows,
makeRelative / //
now returns//
, instead of""
-
Bundled with GHC 7.8.1
-
Update to Cabal 1.10 format
-
Minor Haddock cleanups
-
Bundled with GHC 7.6.1
-
No changes
-
Bundled with GHC 7.4.1
-
Add support for SafeHaskell
-
Bug fix:
normalise /
now returns/
, instead of/.