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, 8.4 and 8.6 (2.14.2+ only), 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.2 (released 2019-01-26)

  • Support GHC 8.6 (Ganesh Sittampalam)
  • Some other dependency bumps (Ganesh Sittampalam)

Issues resolved in 2.14.2

  • issue2617: convert import crashes with out-of-order tags (Ben Franksen)

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

  • Some dependency bumps (Ganesh Sittampalam, Ben Franksen, Guillaume Hoffmann)
  • Windows test fixes (Ganesh)

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)