[Release] Update versions for 2.0.0
diff --git a/c_glib/configure.ac b/c_glib/configure.ac
index 5919ec9..f7e2879 100644
--- a/c_glib/configure.ac
+++ b/c_glib/configure.ac
@@ -17,7 +17,7 @@
 
 AC_PREREQ(2.65)
 
-m4_define([arrow_glib_version], 2.0.0-SNAPSHOT)
+m4_define([arrow_glib_version], 2.0.0)
 AC_INIT([arrow-glib],
         arrow_glib_version,
         [https://issues.apache.org/jira/browse/ARROW],
diff --git a/c_glib/meson.build b/c_glib/meson.build
index 7b8b21c..bf50930 100644
--- a/c_glib/meson.build
+++ b/c_glib/meson.build
@@ -23,7 +23,7 @@
           'cpp_std=c++11',
         ])
 
-version = '2.0.0-SNAPSHOT'
+version = '2.0.0'
 if version.endswith('-SNAPSHOT')
   version_numbers = version.split('-')[0].split('.')
   version_tag = version.split('-')[1]
diff --git a/ci/scripts/PKGBUILD b/ci/scripts/PKGBUILD
index 90b8e4a..2028b38 100644
--- a/ci/scripts/PKGBUILD
+++ b/ci/scripts/PKGBUILD
@@ -18,7 +18,7 @@
 _realname=arrow
 pkgbase=mingw-w64-${_realname}
 pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
-pkgver=1.0.1.9000
+pkgver=2.0.0
 pkgrel=8000
 pkgdesc="Apache Arrow is a cross-language development platform for in-memory data (mingw-w64)"
 arch=("any")
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 8b8183c..515e6af 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -54,7 +54,7 @@
   cmake_policy(SET CMP0063 NEW)
 endif()
 
-set(ARROW_VERSION "2.0.0-SNAPSHOT")
+set(ARROW_VERSION "2.0.0")
 
 string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" ARROW_BASE_VERSION "${ARROW_VERSION}")
 
diff --git a/csharp/Directory.Build.props b/csharp/Directory.Build.props
index c2f0502..1b634ff 100644
--- a/csharp/Directory.Build.props
+++ b/csharp/Directory.Build.props
@@ -29,7 +29,7 @@
     <Product>Apache Arrow library</Product>
     <Copyright>Copyright 2016-2019 The Apache Software Foundation</Copyright>
     <Company>The Apache Software Foundation</Company>
-    <Version>2.0.0-SNAPSHOT</Version>
+    <Version>2.0.0</Version>
   </PropertyGroup>
 
   <PropertyGroup>
diff --git a/dev/tasks/homebrew-formulae/apache-arrow.rb b/dev/tasks/homebrew-formulae/apache-arrow.rb
index 782a529..122e85d 100644
--- a/dev/tasks/homebrew-formulae/apache-arrow.rb
+++ b/dev/tasks/homebrew-formulae/apache-arrow.rb
@@ -1,7 +1,7 @@
 class ApacheArrow < Formula
   desc "Columnar in-memory analytics layer designed to accelerate big data"
   homepage "https://arrow.apache.org/"
-  url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-2.0.0-SNAPSHOT/apache-arrow-2.0.0-SNAPSHOT.tar.gz"
+  url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-2.0.0/apache-arrow-2.0.0.tar.gz"
   sha256 "9948ddb6d4798b51552d0dca3252dd6e3a7d0f9702714fc6f5a1b59397ce1d28"
   license "Apache-2.0"
   head "https://github.com/apache/arrow.git"
diff --git a/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb b/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb
index 94109c2..25af339 100644
--- a/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb
+++ b/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb
@@ -19,7 +19,7 @@
 class ApacheArrow < Formula
   desc "Columnar in-memory analytics layer designed to accelerate big data"
   homepage "https://arrow.apache.org/"
-  url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-1.0.1.9000/apache-arrow-1.0.1.9000.tar.gz"
+  url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-2.0.0/apache-arrow-2.0.0.tar.gz"
   sha256 "9948ddb6d4798b51552d0dca3252dd6e3a7d0f9702714fc6f5a1b59397ce1d28"
   head "https://github.com/apache/arrow.git"
 
diff --git a/js/package.json b/js/package.json
index cf143d8..cb451a8 100644
--- a/js/package.json
+++ b/js/package.json
@@ -113,5 +113,5 @@
   "engines": {
     "node": ">=11.12"
   },
-  "version": "2.0.0-SNAPSHOT"
+  "version": "2.0.0"
 }
diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt
index 81bec8a..ac5839e 100755
--- a/matlab/CMakeLists.txt
+++ b/matlab/CMakeLists.txt
@@ -18,7 +18,7 @@
 cmake_minimum_required(VERSION 3.2)
 set(CMAKE_CXX_STANDARD 11)
 
-set(MLARROW_VERSION "2.0.0-SNAPSHOT")
+set(MLARROW_VERSION "2.0.0")
 string(REGEX MATCH
   "^[0-9]+\\.[0-9]+\\.[0-9]+" MLARROW_BASE_VERSION "${MLARROW_VERSION}")
 
diff --git a/python/setup.py b/python/setup.py
index 50d1ced..f092d00 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -523,7 +523,7 @@
 
 # If the event of not running from a git clone (e.g. from a git archive
 # or a Python sdist), see if we can set the version number ourselves
-default_version = '2.0.0-SNAPSHOT'
+default_version = '2.0.0'
 if (not os.path.exists('../.git') and
         not os.environ.get('SETUPTOOLS_SCM_PRETEND_VERSION')):
     if os.path.exists('PKG-INFO'):
diff --git a/r/DESCRIPTION b/r/DESCRIPTION
index 7e700ff..3cd498f 100644
--- a/r/DESCRIPTION
+++ b/r/DESCRIPTION
@@ -1,6 +1,6 @@
 Package: arrow
 Title: Integration to 'Apache' 'Arrow'
-Version: 1.0.1.9000
+Version: 2.0.0
 Authors@R: c(
     person("Romain", "Fran\u00e7ois", email = "romain@rstudio.com", role = c("aut"), comment = c(ORCID = "0000-0002-2444-4226")),
     person("Jeroen", "Ooms", email = "jeroen@berkeley.edu", role = c("aut")),
diff --git a/r/NEWS.md b/r/NEWS.md
index 91dfe10..4581692 100644
--- a/r/NEWS.md
+++ b/r/NEWS.md
@@ -17,7 +17,7 @@
   under the License.
 -->
 
-# arrow 1.0.1.9000
+# arrow 2.0.0
 
 ## Datasets
 
diff --git a/ruby/red-arrow-cuda/lib/arrow-cuda/version.rb b/ruby/red-arrow-cuda/lib/arrow-cuda/version.rb
index 50c94e9..84dbbd6 100644
--- a/ruby/red-arrow-cuda/lib/arrow-cuda/version.rb
+++ b/ruby/red-arrow-cuda/lib/arrow-cuda/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module ArrowCUDA
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/ruby/red-arrow-dataset/lib/arrow-dataset/version.rb b/ruby/red-arrow-dataset/lib/arrow-dataset/version.rb
index fd63fbf..8a4b46f 100644
--- a/ruby/red-arrow-dataset/lib/arrow-dataset/version.rb
+++ b/ruby/red-arrow-dataset/lib/arrow-dataset/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module ArrowDataset
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/ruby/red-arrow/lib/arrow/version.rb b/ruby/red-arrow/lib/arrow/version.rb
index f36a087..f556c58 100644
--- a/ruby/red-arrow/lib/arrow/version.rb
+++ b/ruby/red-arrow/lib/arrow/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module Arrow
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/ruby/red-gandiva/lib/gandiva/version.rb b/ruby/red-gandiva/lib/gandiva/version.rb
index 56a534c..f609881 100644
--- a/ruby/red-gandiva/lib/gandiva/version.rb
+++ b/ruby/red-gandiva/lib/gandiva/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module Gandiva
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/ruby/red-parquet/lib/parquet/version.rb b/ruby/red-parquet/lib/parquet/version.rb
index 2e29bbb..089330d 100644
--- a/ruby/red-parquet/lib/parquet/version.rb
+++ b/ruby/red-parquet/lib/parquet/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module Parquet
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/ruby/red-plasma/lib/plasma/version.rb b/ruby/red-plasma/lib/plasma/version.rb
index 74f297a..f76d5cd 100644
--- a/ruby/red-plasma/lib/plasma/version.rb
+++ b/ruby/red-plasma/lib/plasma/version.rb
@@ -16,7 +16,7 @@
 # under the License.
 
 module Plasma
-  VERSION = "2.0.0-SNAPSHOT"
+  VERSION = "2.0.0"
 
   module Version
     numbers, TAG = VERSION.split("-")
diff --git a/rust/arrow-flight/Cargo.toml b/rust/arrow-flight/Cargo.toml
index f942ac4..5bda596 100644
--- a/rust/arrow-flight/Cargo.toml
+++ b/rust/arrow-flight/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "arrow-flight"
 description = "Apache Arrow Flight"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 edition = "2018"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
 homepage = "https://github.com/apache/arrow"
@@ -26,7 +26,7 @@
 license = "Apache-2.0"
 
 [dependencies]
-arrow = { path = "../arrow", version = "2.0.0-SNAPSHOT" }
+arrow = { path = "../arrow", version = "2.0.0" }
 tonic = "0.3"
 bytes = "0.5"
 prost = "0.6"
diff --git a/rust/arrow/Cargo.toml b/rust/arrow/Cargo.toml
index 00a8a7c..77eea50 100644
--- a/rust/arrow/Cargo.toml
+++ b/rust/arrow/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "arrow"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 description = "Rust implementation of Apache Arrow"
 homepage = "https://github.com/apache/arrow"
 repository = "https://github.com/apache/arrow"
diff --git a/rust/benchmarks/Cargo.toml b/rust/benchmarks/Cargo.toml
index 1937024..7d856eb 100644
--- a/rust/benchmarks/Cargo.toml
+++ b/rust/benchmarks/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "arrow-benchmarks"
 description = "Apache Arrow Benchmarks"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 edition = "2018"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
 homepage = "https://github.com/apache/arrow"
diff --git a/rust/datafusion/Cargo.toml b/rust/datafusion/Cargo.toml
index 62d2186..3f0ca2e 100644
--- a/rust/datafusion/Cargo.toml
+++ b/rust/datafusion/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "datafusion"
 description = "DataFusion is an in-memory query engine that uses Apache Arrow as the memory model"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 homepage = "https://github.com/apache/arrow"
 repository = "https://github.com/apache/arrow"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
@@ -45,8 +45,8 @@
 
 [dependencies]
 fnv = "1.0"
-arrow = { path = "../arrow", version = "2.0.0-SNAPSHOT", features = ["prettyprint"] }
-parquet = { path = "../parquet", version = "2.0.0-SNAPSHOT", features = ["arrow"] }
+arrow = { path = "../arrow", version = "2.0.0", features = ["prettyprint"] }
+parquet = { path = "../parquet", version = "2.0.0", features = ["arrow"] }
 sqlparser = "0.6.1"
 clap = "2.33"
 rustyline = {version = "6.0", optional = true}
@@ -63,7 +63,7 @@
 tempfile = "3"
 futures = "0.3"
 prost = "0.6"
-arrow-flight = { path = "../arrow-flight", version = "2.0.0-SNAPSHOT" }
+arrow-flight = { path = "../arrow-flight", version = "2.0.0" }
 tonic = "0.3"
 
 [[bench]]
diff --git a/rust/datafusion/README.md b/rust/datafusion/README.md
index 4ca5f50..85f04a9 100644
--- a/rust/datafusion/README.md
+++ b/rust/datafusion/README.md
@@ -27,7 +27,7 @@
 
 ```toml
 [dependencies]
-datafusion = "2.0.0-SNAPSHOT"
+datafusion = "2.0.0"
 ```
 
 ## Using DataFusion as a binary
diff --git a/rust/integration-testing/Cargo.toml b/rust/integration-testing/Cargo.toml
index 0c5d3b5..cc7b4f3 100644
--- a/rust/integration-testing/Cargo.toml
+++ b/rust/integration-testing/Cargo.toml
@@ -18,7 +18,7 @@
 [package]
 name = "arrow-integration-testing"
 description = "Binaries used in the Arrow integration tests"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 homepage = "https://github.com/apache/arrow"
 repository = "https://github.com/apache/arrow"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
diff --git a/rust/parquet/Cargo.toml b/rust/parquet/Cargo.toml
index 50d7c34..3a9f6ea 100644
--- a/rust/parquet/Cargo.toml
+++ b/rust/parquet/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "parquet"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 license = "Apache-2.0"
 description = "Apache Parquet implementation in Rust"
 homepage = "https://github.com/apache/arrow"
@@ -39,7 +39,7 @@
 zstd = { version = "0.5", optional = true }
 chrono = "0.4"
 num-bigint = "0.3"
-arrow = { path = "../arrow", version = "2.0.0-SNAPSHOT", optional = true }
+arrow = { path = "../arrow", version = "2.0.0", optional = true }
 
 [dev-dependencies]
 rand = "0.7"
@@ -48,7 +48,7 @@
 flate2 = "1.0"
 lz4 = "1.23"
 zstd = "0.5"
-arrow = { path = "../arrow", version = "2.0.0-SNAPSHOT" }
+arrow = { path = "../arrow", version = "2.0.0" }
 serde_json = { version = "1.0", features = ["preserve_order"] }
 
 [features]
diff --git a/rust/parquet/README.md b/rust/parquet/README.md
index e84843e..9c31c41 100644
--- a/rust/parquet/README.md
+++ b/rust/parquet/README.md
@@ -23,7 +23,7 @@
 Add this to your Cargo.toml:
 ```toml
 [dependencies]
-parquet = "2.0.0-SNAPSHOT"
+parquet = "2.0.0"
 ```
 
 and this to your crate root:
@@ -44,7 +44,7 @@
     println!("{}", record);
 }
 ```
-See [crate documentation](https://docs.rs/crate/parquet/2.0.0-SNAPSHOT) on available API.
+See [crate documentation](https://docs.rs/crate/parquet/2.0.0) on available API.
 
 ## Supported Parquet Version
 - Parquet-format 2.4.0
diff --git a/rust/parquet_derive/Cargo.toml b/rust/parquet_derive/Cargo.toml
index eb1bca3..f3dc4c6 100644
--- a/rust/parquet_derive/Cargo.toml
+++ b/rust/parquet_derive/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "parquet_derive"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
 keywords = [ "parquet" ]
 edition = "2018"
@@ -34,4 +34,4 @@
 proc-macro2 = "1.0"
 quote = "1.0"
 syn = { version = "1.0", features = ["full", "extra-traits"] }
-parquet = { path = "../parquet", version = "2.0.0-SNAPSHOT" }
+parquet = { path = "../parquet", version = "2.0.0" }
diff --git a/rust/parquet_derive/README.md b/rust/parquet_derive/README.md
index 6d3f669..d331ad4 100644
--- a/rust/parquet_derive/README.md
+++ b/rust/parquet_derive/README.md
@@ -30,8 +30,8 @@
 Add this to your Cargo.toml:
 ```toml
 [dependencies]
-parquet = "2.0.0-SNAPSHOT"
-parquet_derive = "2.0.0-SNAPSHOT"
+parquet = "2.0.0"
+parquet_derive = "2.0.0"
 ```
 
 and this to your crate root:
diff --git a/rust/parquet_derive_test/Cargo.toml b/rust/parquet_derive_test/Cargo.toml
index fc5af3e..fb8dce0 100644
--- a/rust/parquet_derive_test/Cargo.toml
+++ b/rust/parquet_derive_test/Cargo.toml
@@ -17,11 +17,11 @@
 
 [package]
 name = "parquet_derive_test"
-version = "2.0.0-SNAPSHOT"
+version = "2.0.0"
 authors = ["Apache Arrow <dev@arrow.apache.org>"]
 keywords = [ "parquet" ]
 edition = "2018"
 
 [dependencies]
-parquet = { path = "../parquet", version = "2.0.0-SNAPSHOT" }
-parquet_derive = { path = "../parquet_derive", version = "2.0.0-SNAPSHOT" }
+parquet = { path = "../parquet", version = "2.0.0" }
+parquet_derive = { path = "../parquet_derive", version = "2.0.0" }