diff --git a/README.md b/README.md
index 70fc0cffe..83e82fd9b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 4.1.0
+Zcash 4.1.1
===========
diff --git a/configure.ac b/configure.ac
index f2aacbd02..18cf11222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 4)
define(_CLIENT_VERSION_MINOR, 1)
-define(_CLIENT_VERSION_REVISION, 0)
+define(_CLIENT_VERSION_REVISION, 1)
define(_CLIENT_VERSION_BUILD, 50)
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
index 17ecc7a46..bf6d4705b 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,9 @@
+zcash (4.1.1) stable; urgency=medium
+
+ * 4.1.1 release.
+
+ -- Electric Coin Company Mon, 16 Nov 2020 10:23:40 -0700
+
zcash (4.1.0) stable; urgency=medium
* 4.1.0 release.
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index 145000606..b8a8c7f2c 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-4.1.0"
+name: "zcash-4.1.1"
enable_cache: true
distro: "debian"
suites:
diff --git a/doc/authors.md b/doc/authors.md
index d48c6b6b5..1ada04d16 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -1,32 +1,32 @@
Zcash Contributors
==================
-Jack Grigg (1059)
+Jack Grigg (1064)
Simon Liu (460)
Sean Bowe (367)
-Daira Hopwood (244)
+Daira Hopwood (247)
Eirik Ogilvie-Wigley (216)
-Wladimir J. van der Laan (118)
+Wladimir J. van der Laan (122)
Taylor Hornby (112)
-Alfredo Garcia (111)
+Alfredo Garcia (112)
Marshall Gaucher (100)
+Kris Nuttycombe (89)
Jay Graber (89)
-Kris Nuttycombe (83)
Jonas Schnelli (73)
-Pieter Wuille (69)
+Pieter Wuille (70)
Cory Fields (63)
Nathan Wilcox (56)
Larry Ruane (56)
Ying Tong Lai (54)
+Marco Falke (38)
Kevin Gallagher (38)
-Marco Falke (34)
+practicalswift (36)
Dimitris Apostolou (28)
Matt Corallo (25)
fanquake (24)
Luke Dashjr (18)
Jonathan "Duke" Leto (18)
syd (16)
-practicalswift (16)
avnish (14)
Per Grön (14)
Jorge Timón (14)
@@ -43,16 +43,19 @@ Charlie O'Keefe (8)
Ben Wilson (8)
Jeff Garzik (7)
ying tong (6)
+Philip Kaufmann (6)
Marius Kjærstad (6)
Karl-Johan Alm (6)
David Mercer (6)
Daniel Cousens (6)
+jnewbery (5)
ca333 (5)
Suhas Daftuar (5)
-Philip Kaufmann (5)
Patrick Strateman (5)
Kaz Wesley (5)
+João Barbosa (5)
Johnathan Corgan (5)
+John Newbery (5)
Jeremy Rubin (5)
George Tankersley (5)
Gavin Andresen (5)
@@ -62,23 +65,26 @@ sandakersmann (4)
gladcow (4)
Zancas Wilcox (4)
WO (4)
-João Barbosa (4)
+MeshCollider (4)
James O'Beirne (4)
Daniel Kraft (4)
mruddy (3)
lpescher (3)
elbandi (3)
+Sjors Provoost (3)
Patick Strateman (3)
NikVolf (3)
Nate Wilcox (3)
-MeshCollider (3)
+Julian Fleischer (3)
Jim Posen (3)
Jason Davies (3)
+Evan Klitzke (3)
Danny Willems (3)
Alfie John (3)
rofl0r (2)
noname45688@gmail.com (2)
kpcyrd (2)
+isle2983 (2)
face (2)
aniemerg (2)
UdjinM6 (2)
@@ -98,7 +104,6 @@ Joe Turgeon (2)
Jeffrey Czyz (2)
Jack Gavigan (2)
ITH4Coinomia (2)
-Evan Klitzke (2)
Dagur Valberg Johannsson (2)
Casey Rodarmor (2)
Bryant Eisenbach (2)
@@ -108,6 +113,7 @@ Anthony Towns (2)
Amgad Abdelhafez (2)
Alex Tsankov (2)
zathras-crypto (1)
+vim88 (1)
unsystemizer (1)
tpantin (1)
teor (1)
@@ -117,7 +123,6 @@ mrbandrews (1)
kazcw (1)
jeff-liang (1)
jc (1)
-isle2983 (1)
instagibbs (1)
ewillbefull@gmail.com (1)
emilrus (1)
@@ -127,9 +132,11 @@ codetriage-readme-bot (1)
calebogden (1)
ayleph (1)
avnish98 (1)
+adityapk00 (1)
Za Wilcox (1)
Yuri Zhykin (1)
William M Peaster (1)
+Vidar Holen (1)
Vasil Dimov (1)
Ulrich Kempken (1)
Tom Ritter (1)
@@ -161,9 +168,9 @@ LitecoinZ (1)
Leo Arias (1)
Lauda (1)
Lars-Magnus Skog (1)
+Kristaps Kaupe (1)
Kevin Pan (1)
Jonas Nick (1)
-John Newbery (1)
Jeffrey Walton (1)
Jainan-Tandel (1)
Ian T (1)
@@ -177,8 +184,10 @@ Florian Schmaus (1)
Ethan Heilman (1)
Eran Tromer (1)
Dimitris Tsapakidis (1)
+DesWurstes (1)
Denis Lukianov (1)
David Llop (1)
+Dan Raviv (1)
Chun Kuan Lee (1)
Christian von Roques (1)
Chirag Davé (1)
@@ -195,6 +204,7 @@ Andrew Chow (1)
Allan Niemerg (1)
Alex van der Peet (1)
Alex (1)
+Akio Nakamura (1)
Ahmad Kazi (1)
Aditya Kulkarni (1)
Adam Weiss (1)
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 0b0c67e75..7d9d940e9 100644
--- a/doc/man/zcash-cli.1
+++ b/doc/man/zcash-cli.1
@@ -1,9 +1,9 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH ZCASH-CLI "1" "November 2020" "zcash-cli v4.1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH ZCASH-CLI "1" "November 2020" "zcash-cli v4.1.1" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v4.1.0
+zcash-cli \- manual page for zcash-cli v4.1.1
.SH DESCRIPTION
-Zcash RPC client version v4.1.0
+Zcash RPC client version v4.1.1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1
index 2ef774d93..5cb2cdb80 100644
--- a/doc/man/zcash-tx.1
+++ b/doc/man/zcash-tx.1
@@ -1,9 +1,9 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH ZCASH-TX "1" "November 2020" "zcash-tx v4.1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH ZCASH-TX "1" "November 2020" "zcash-tx v4.1.1" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v4.1.0
+zcash-tx \- manual page for zcash-tx v4.1.1
.SH DESCRIPTION
-Zcash zcash\-tx utility version v4.1.0
+Zcash zcash\-tx utility version v4.1.1
.SS "Usage:"
.TP
zcash\-tx [options] [commands]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index 5516ca175..5564ce1fd 100644
--- a/doc/man/zcashd.1
+++ b/doc/man/zcashd.1
@@ -1,9 +1,9 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16.
-.TH ZCASHD "1" "November 2020" "zcashd v4.1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
+.TH ZCASHD "1" "November 2020" "zcashd v4.1.1" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v4.1.0
+zcashd \- manual page for zcashd v4.1.1
.SH DESCRIPTION
-Zcash Daemon version v4.1.0
+Zcash Daemon version v4.1.1
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
@@ -84,7 +84,7 @@ Keep at most unconnectable transactions in memory (default: 100)
.HP
\fB\-par=\fR
.IP
-Set the number of script verification threads (\fB\-16\fR to 16, 0 = auto, <0 =
+Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 =
leave that many cores free, default: 0)
.HP
\fB\-pid=\fR
diff --git a/doc/release-notes/release-notes-4.1.1.md b/doc/release-notes/release-notes-4.1.1.md
new file mode 100644
index 000000000..46793955d
--- /dev/null
+++ b/doc/release-notes/release-notes-4.1.1.md
@@ -0,0 +1,156 @@
+Notable changes
+===============
+
+Optimize release build
+----------------------
+The release build now sets CLAGS/CXXFLAGS to use the -O3 optimization
+option, which turns on more optimization flags than the previously used
+-O1. This produces a faster build, addressing a performance regression in
+v4.1.0.
+
+Correctly report Founders' Reward amount in `getblocktemplate`
+--------------------------------------------------------------
+This release correctly returns the `foundersreward` field from `getblocktemplate`
+output pre-Canopy and removes the field post-Canopy. (The Founders' Reward will
+expire exactly as Canopy activates, as specified in [ZIP 207](https://zips.z.cash/zip-0207).)
+To obtain information about funding stream amounts, use `getblocksubsidy HEIGHT`,
+passing in the height returned by the `getblocktemplate` API.
+
+Changelog
+=========
+
+Akio Nakamura (1):
+ [script] lint-whitespace: improve print linenumber
+
+Alfredo Garcia (1):
+ add myblockhash parameter to getrawtransaction
+
+Daira Hopwood (3):
+ Wording improvements to getrawtransaction RPC documentation
+ GetNextWorkRequired: clarify why this computation is equivalent to that in the protocol spec. refs https://github.com/zcash/zips/pull/418
+ Set release CFLAGS/CXXFLAGS to use -O3.
+
+Dan Raviv (1):
+ Fix header guards using reserved identifiers
+
+DesWurstes (1):
+ Obsolete #!/bin/bash shebang
+
+Evan Klitzke (1):
+ Add a lint check for trailing whitespace.
+
+Jack Grigg (14):
+ lints: Use Zcash-specific include guards for new files
+ lints: Update expected Boost imports
+ lints: Match `export LC_ALL="C"` in lint-shell-locale
+ test: Fix pyflakes warning in bitcoin-util-test.py
+ lint: Fix missing or inconsistent include guards
+ lint: Fix duplicate includes
+ python: Explicitly set encoding to utf8 when opening text files
+ lint: Use consistent shebangs
+ lint: Opt out of locale dependence in Zcash shell scripts
+ lint: Re-exclude subtrees from lint-include-guards.sh
+ lint: Apply include guard style to src/rust/include
+ lint: s/trim/lenTrim in src/crypto/equihash.[cpp,h]
+ lint: Fix minor shellcheck lints
+ cargo update
+
+John Newbery (4):
+ [contrib] convert test-security-check to python3
+ Clean up bctest.py and bitcoin-util-test.py
+ Improve logging in bctest.py if there is a formatting mismatch
+ [linter] Strip trailing / in path for git-subtree-check
+
+João Barbosa (1):
+ qa: Ignore shellcheck warning SC2236
+
+Julian Fleischer (3):
+ fix locale for lint-shell
+ use export LC_ALL=C.UTF-8
+ Run all lint scripts
+
+Kris Nuttycombe (6):
+ Change order of checks to skip IsInitialBlockDownload check if flag is unset.
+ Correctly report founder's reward amount in getblocktemplate prior to Canopy
+ Document how to get block subsidy information in getblocktemplate.
+ Update getblocktemplate documentation.
+ make-release.py: Versioning changes for 4.1.1.
+ make-release.py: Updated manpages for 4.1.1.
+
+Kristaps Kaupe (1):
+ Make lint-includes.sh work from any directory
+
+Marco Falke (4):
+ devtools: Exclude patches from lint-whitespace
+ Refine travis check for duplicate includes
+ test: Move linters to test/lint, add readme
+ Revert "Remove unused variable in shell script"
+
+MeshCollider (1):
+ Add tab char lint check and exclude imported dependencies
+
+Philip Kaufmann (1):
+ [Trivial] ensure minimal header conventions
+
+Pieter Wuille (1):
+ Improve git-subtree-check.sh
+
+Sjors Provoost (3):
+ [scripts] lint-whitespace: use perl instead of grep -P
+ [scripts] lint-whitespace: check last N commits or unstaged changes
+ doc: improve subtree check instructions
+
+Vidar Holen (1):
+ refactor/lint: Add ignored suggestions to an array
+
+Wladimir J. van der Laan (4):
+ contrib: Ignore historical release notes for whitespace check
+ test: Add format-dependent comparison to bctest
+ test: Explicitly set encoding to utf8 when opening text files
+ uint256: replace sprintf with HexStr and reverse-iterator
+
+adityapk00 (1):
+ Don't compile ehHashState::* if mining is disabled
+
+isle2983 (1):
+ [copyright] add MIT license headers to .sh scripts where missing
+
+jnewbery (5):
+ Add bitcoin-tx JSON tests
+ Add option to run bitcoin-util-test.py manually
+ bitcoin-util-test.py should fail if the output file is empty
+ add verbose mode to bitcoin-util-test.py
+ Add logging to bitcoin-util-test.py
+
+practicalswift (20):
+ Document include guard convention
+ Fix missing or inconsistent include guards
+ Add lint-include-guards.sh which checks include guard consistency
+ Add Travis check for duplicate includes
+ Add shell script linting: Check for shellcheck warnings in shell scripts
+ add lint tool to check python3 shebang
+ build: Guard against accidental introduction of new Boost dependencies
+ build: Add linter for checking accidental locale dependence
+ docs: Mention lint-locale-dependence.sh in developer-notes.md
+ Add "export LC_ALL=C" to all shell scripts
+ Add linter: Make sure all shell scripts opt out of locale dependence using "export LC_ALL=C"
+ Explicitly specify encoding when opening text files in Python code
+ Add linter: Make sure we explicitly open all text files using UTF-8 or ASCII encoding in Python
+ macOS fix: Work around empty (sub)expression error when using BSD grep
+ macOS fix: Add excludes for checks added in the newer shellcheck version installed by brew
+ Remove repeated suppression. Fix indentation.
+ Fix warnings introduced in shellcheck v0.6.0
+ Remove no longer needed shellcheck suppressions
+ Follow-up to #13454: Fix broken build by exporting LC_ALL=C
+ Remove unused variables in shell scripts.
+
+Jack Grigg (5):
+ Small documentation fixes
+ lints: Add a missing copyright header
+ lint: Allow stoi in src/rpc/blockchain.cpp
+ lint: Remove some subtrees from exclusion
+ doc: Adjust subtree developer notes to refer to Zcash
+
+vim88 (1):
+ Scripts and tools & Docs: Used #!/usr/bin/env bash instead of obsolete #!/bin/bash, added linting for .sh files shebang and updated the Developer Notes.
+
diff --git a/src/clientversion.h b/src/clientversion.h
index 3fa554c86..8887908f7 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -17,7 +17,7 @@
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 4
#define CLIENT_VERSION_MINOR 1
-#define CLIENT_VERSION_REVISION 0
+#define CLIENT_VERSION_REVISION 1
#define CLIENT_VERSION_BUILD 50
//! Set to true for release, false for prerelease or test build
diff --git a/src/deprecation.h b/src/deprecation.h
index deb6128b6..93e0b703c 100644
--- a/src/deprecation.h
+++ b/src/deprecation.h
@@ -10,7 +10,7 @@
// Per https://zips.z.cash/zip-0200
// Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated
// release block height. A warning is shown during the 14 days' worth of blocks prior to shut down.
-static const int APPROX_RELEASE_HEIGHT = 1030050;
+static const int APPROX_RELEASE_HEIGHT = 1044500;
static const int RELEASE_TO_DEPRECATION_WEEKS = 16;
static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING;
static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds.");