The 2.14 branch is available as a darcs repository from

Soruce tarballs

Supported GHC and Cabal versions

Darcs 2.14 can be compiled with GHC 8.0, 8.2 and 8.4, and supports Cabal versions from 1.24.

Windows issues

Darcs 2.14 received many updates in its support of encoding. However, it may still contain bugs, especially under Windows, a platform for which we have fewer known users. Please let us know if you encounter weird behaviour under Windows.

What’s new in 2.14.1 (released 2018-06-24)

  • Some dependency bumps (Ganesh Sittampalam, Ben Franksen, Guillaume Hoffmann)
  • Windows test fixes (Ganesh)
  • Fixed the following bugs:

Issues resolved in 2.14.1

  • issue2588: clone creates target repo with wrong permissions (Ben)

What’s new in 2.14.0 (released 2018-04-04)

User Interface

  • fix encoding business, make DARCS_DONT_ESCAPE_8BIT=1 default (Ben Franksen, Ganesh Sittampalam)
  • show explicit dependencies in darcs log -s (Gian Piero Carrubba)
  • improve bash/zsh completion (Ben, Gian Piero)
  • no longer print an error message when ctrlc’ing pager (Guillaume Hoffmann)
  • darcs help markdown mentions all files in _darcs/prefs/ (Guillaume)
  • add patch index status to show repo command (Ben)

New features

  • per-file conflict marking (Ben)
  • make it possible to use DARCS_SCP=rsync (Ben)
  • add –not-in-remote option to unrecord command (Ben)


  • plug memory leak and improve efficiency in annotate (Ben)
  • save unneeded FL/RL reverses in SelectChanges module (Ben)
  • optimize token replace code and –look-for-replaces (Ben)
  • no longer show conflicting files on whatsnew -s, will reintrodue this feature when it is done efficiently (Guillaume)
  • separate display and storage of patches (Ben)
  • support GHC 8.2 and GHC 8.4 (Ganesh)
  • many refactorings in Darcs.Repository modules and API (Ben, Guillaume)
  • no longer track build dependencies in Setup.hs, nor use alpha, beta, rc names (Guillaume)
  • refactor pull --reorder-patches (Ben)
  • refactor SelectChanges (Ben)
  • remove Patchy typeclass and redundant constaints where possible (Guillaume)
  • fix build with cabal new-build (Francesco Ariis)
  • unit and quickcheck tests for inventories (Ben)
  • throw out all access to bytestring internals from Darcs.Util.ByteString (Ben)
  • refactor, simplify, and document hunk application (Ben)
  • drop support of old cache location and SHA1-hashed repos (Guillaume)
  • rely on GHC’s own stack traces for bug reporting (Guillaume)

Issues resolved in Darcs 2.14

  • fix mail encoding with ’.’ or ‘=’ as last character (Timo von Holtz)
  • issue2526: whatsnew -l –boring should list boring files (Ben)
  • issue2208: replace detects existing force hunks in working (Ben)
  • issue2512: author name is written to repository after multiple-choice prompt (Stephan-A. Posselt)
  • issue2359: convert –export mishandles Unicode filenames (Ben)
  • issue2545: prevent argument smuggling in SSH repository URLs (Gian Piero)
  • issue2581: fix rebase pull –reorder (Ben)
  • issue2575: fix unrevert with rebase (Ben)
  • issue2579: allow darcs send to work even if no MTA is installed
  • issue2555: include explicit dependencies in the output of log -v (Gian Piero)
  • issue2569: decoding multibyte characters (Ben)
  • issue2563: create remote repo in correct format in ssh tests (Ben)
  • issue2565: create _darcs dir after searching for an existing one (Ben)
  • issue2567: darcs whatsnew –unified (Ben)
  • issue2566: avoid renaming across file systems (Ben)
  • issue2564: delete wrong and irrelevant propConcatPS (Guillaume)
  • issue2559: remove trailing empty lines in patch header edition (Guillaume)
  • issue2536: mask out internal matchers in show files routing logic (Gian Piero)