diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal
index e7dd4fb4825561eb14622cace006e49f05d95de9..4eca50984bc5e7d445581cf27838725c968ddc61 100644
--- a/Cabal/Cabal.cabal
+++ b/Cabal/Cabal.cabal
@@ -1,5 +1,5 @@
 name:          Cabal
-version:       1.25.0.0
+version:       2.1.0.0
 copyright:     2003-2017, Cabal Development Team (see AUTHORS file)
 license:       BSD3
 license-file:  LICENSE
diff --git a/Cabal/Makefile b/Cabal/Makefile
index 78de022244c1e673d6fb7587437c618a0b4083ad..ce7fb917b0f7572deb1565c0be7247482ec77175 100644
--- a/Cabal/Makefile
+++ b/Cabal/Makefile
@@ -1,5 +1,5 @@
 
-VERSION=1.25.0.0
+VERSION=2.1.0.0
 
 #KIND=devel
 KIND=rc
diff --git a/Cabal/changelog b/Cabal/changelog
index 7866ffa3c91d5962025205558906a545f0cd9c63..2093af2d9ce2ab9b88ff6d9c90164115a047b791 100644
--- a/Cabal/changelog
+++ b/Cabal/changelog
@@ -1,6 +1,6 @@
 -*-change-log-*-
 
-1.25.x.x (current development version)
+2.0.0.0 (current development version)
 	* Add CURRENT_PACKAGE_VERSION to cabal_macros.h (#4319)
 	* Dropped support for versions of GHC earlier than 6.12 (#3111).
 	* GHC compatibility window for the Cabal library has been extended
diff --git a/Cabal/default.nix b/Cabal/default.nix
index f2a7c965f7899179b2300b90fba941a4d03a012b..cf5d4659762936d5eba5f6fde1d268957b64e898 100644
--- a/Cabal/default.nix
+++ b/Cabal/default.nix
@@ -4,7 +4,7 @@
 }:
 mkDerivation {
   pname = "Cabal";
-  version = "1.25.0.0";
+  version = "2.1.0.0";
   src = ./.;
   libraryHaskellDepends = [
     array base binary bytestring containers deepseq directory filepath
diff --git a/Cabal/doc/conf.py b/Cabal/doc/conf.py
index f2cb540345978dc443f3143d57aff3fca86f9593..df88a237f1f32b3f3e701766e43125408608fda0 100644
--- a/Cabal/doc/conf.py
+++ b/Cabal/doc/conf.py
@@ -13,7 +13,7 @@ import sphinx_rtd_theme
 sys.path.insert(0, os.path.abspath('.'))
 import cabaldomain
 
-version = "1.25"
+version = "2.1"
 
 extensions = ['sphinx.ext.extlinks']
 
diff --git a/Cabal/doc/developing-packages.rst b/Cabal/doc/developing-packages.rst
index 667252903fd30a7835b8f2ec56d91ded723363d5..148623f781ba92ab8cd87d2d51c103bac7d35fd8 100644
--- a/Cabal/doc/developing-packages.rst
+++ b/Cabal/doc/developing-packages.rst
@@ -1038,7 +1038,7 @@ The library section should contain the following fields:
 The library section may also contain build information fields (see the
 section on `build information`_).
 
-Cabal 1.25 and later support "internal libraries", which are extra named
+Cabal 2.0 and later support "internal libraries", which are extra named
 libraries (as opposed to the usual unnamed library section). For
 example, suppose that your test suite needs access to some internal
 modules in your library, which you do not otherwise want to export. You
diff --git a/Cabal/doc/nix-local-build.rst b/Cabal/doc/nix-local-build.rst
index 35d649b773d36b02d2503f8621431b78fd725d12..860fe9cc5264dfddab03830923779b48fcda886e 100644
--- a/Cabal/doc/nix-local-build.rst
+++ b/Cabal/doc/nix-local-build.rst
@@ -724,7 +724,7 @@ The following settings control the behavior of the dependency solver:
 
 .. cfg-field:: index-state: HEAD, unix-timestamp, ISO8601 UTC timestamp.
    :synopsis: Use source package index state as it existed at a previous time.
-   :since: 1.25
+   :since: 2.0
 
    :default: ``HEAD``
 
diff --git a/appveyor.yml b/appveyor.yml
index 01e4eba8b133a22f3c2323ceb944f4cff6fde4c3..8394c59d22f6ee0252e655db2d1b5d282b14509f 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -24,9 +24,9 @@ build_script:
   - Setup install
   # hackage-repo-tool doesn't build on Windows:
   # https://github.com/well-typed/hackage-security/issues/175
-  # - echo "" | ..\cabal install hackage-repo-tool --allow-newer=Cabal,time --constraint="Cabal == 1.25.0.0"
+  # - echo "" | ..\cabal install hackage-repo-tool --allow-newer=Cabal,time --constraint="Cabal == 2.1.0.0"
   - cd ..\cabal-testsuite
-  - ghc --make -threaded -i Setup.hs -package Cabal-1.25.0.0
+  - ghc --make -threaded -i Setup.hs -package Cabal-2.1.0.0
   - echo "" | ..\appveyor-retry ..\cabal install --only-dependencies --enable-tests
   - Setup configure --user --ghc-option=-Werror --enable-tests
   - Setup build
diff --git a/cabal-install/bootstrap.sh b/cabal-install/bootstrap.sh
index 91f3837b41db8d16b951a60e8948cdfeb30de956..4e5faa52048338c9d1e05103a1539d1dbdd15e2e 100755
--- a/cabal-install/bootstrap.sh
+++ b/cabal-install/bootstrap.sh
@@ -233,8 +233,8 @@ NETWORK_VER="2.6.3.1"; NETWORK_VER_REGEXP="2\.[0-6]\."
                        # >= 2.0 && < 2.7
 NETWORK_URI_VER="2.6.1.0"; NETWORK_URI_VER_REGEXP="2\.6\."
                        # >= 2.6 && < 2.7
-CABAL_VER="1.25.0.0";  CABAL_VER_REGEXP="1\.25\.[0-9]"
-                       # >= 1.25 && < 1.26
+CABAL_VER="2.1.0.0";  CABAL_VER_REGEXP="2\.1\.[0-9]"
+                       # >= 2.1 && < 2.2
 TRANS_VER="0.5.2.0";   TRANS_VER_REGEXP="0\.[45]\."
                        # >= 0.2.* && < 0.6
 MTL_VER="2.2.1";       MTL_VER_REGEXP="[2]\."
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index 5815f6a8f04b3693169a2b2629388f3f1a822875..67179e2471ad0593150ef78a56df6dd65fa7cf9b 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -1,5 +1,5 @@
 Name:               cabal-install
-Version:            1.25.0.0
+Version:            2.1.0.0
 Synopsis:           The command-line interface for Cabal and Hackage.
 Description:
     The \'cabal\' command-line program simplifies the process of managing
@@ -351,7 +351,7 @@ executable cabal
         base16-bytestring >= 0.1.1 && < 0.2,
         binary     >= 0.5      && < 0.9,
         bytestring >= 0.9      && < 1,
-        Cabal      >= 1.25     && < 1.26,
+        Cabal      >= 2.1      && < 2.2,
         containers >= 0.4      && < 0.6,
         cryptohash-sha256 >= 0.11 && < 0.12,
         deepseq    >= 1.3      && < 1.5,
@@ -720,7 +720,7 @@ test-suite integration-tests2
   default-language: Haskell2010
 
 custom-setup
-  setup-depends: Cabal >= 1.25,
+  setup-depends: Cabal >= 2.1,
                  base,
                  process   >= 1.1.0.1  && < 1.5,
                  filepath   >= 1.3      && < 1.5
diff --git a/cabal-install/changelog b/cabal-install/changelog
index 8d402096d79d13bf77af910f4e31642a6b1358b1..694390a14835c2d591b361d8b242f345c43d257e 100644
--- a/cabal-install/changelog
+++ b/cabal-install/changelog
@@ -1,6 +1,6 @@
 -*-change-log-*-
 
-1.25.x.x (current development version)
+2.0.0.0 (current development version)
 	* Removed the '--root-cmd' parameter of the 'install' command
 	(#3356).
 	* Deprecated 'cabal install --global' (#3356).
diff --git a/cabal-install/default.nix b/cabal-install/default.nix
index 506d8f49ee66390d220470a158fe6def7f81cff4..59995e16833fbcbc304d0368c3dc813c32ab7542 100644
--- a/cabal-install/default.nix
+++ b/cabal-install/default.nix
@@ -7,7 +7,7 @@
 }:
 mkDerivation {
   pname = "cabal-install";
-  version = "1.25.0.0";
+  version = "2.1.0.0";
   src = ./.;
   isLibrary = false;
   isExecutable = true;
diff --git a/travis-common.sh b/travis-common.sh
index e9def1faddb5ce2e01f091fb3d442e626aaef8ee..c75cfd2b58f64f64641e1c835025dff4c0524d51 100644
--- a/travis-common.sh
+++ b/travis-common.sh
@@ -1,7 +1,7 @@
 set -e
 
 HACKAGE_REPO_TOOL_VERSION="0.1.1"
-CABAL_VERSION="1.25.0.0"
+CABAL_VERSION="2.1.0.0"
 
 # ---------------------------------------------------------------------
 # Timing / diagnostic output
diff --git a/travis-deploy.sh b/travis-deploy.sh
index 7bdb7587f3d601980824ae1fb21de04849f6d014..d02c7ecab3cb32673e4acf8c16f83464da556648 100755
--- a/travis-deploy.sh
+++ b/travis-deploy.sh
@@ -8,7 +8,7 @@ deploy() {
     (cd cabal-website && git checkout --track -b gh-pages origin/gh-pages)
     rm -rf cabal-website/doc
     mkdir -p cabal-website/doc/html
-    mv dist-newstyle/build/Cabal-1.25.0.0/doc/html/Cabal \
+    mv dist-newstyle/build/Cabal-2.1.0.0/doc/html/Cabal \
        cabal-website/doc/html/Cabal
     (cd cabal-website && git add --all .)
     (cd cabal-website && \