aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-02-01 16:10:13 +0000
committerfanquake <fanquake@gmail.com>2024-02-01 16:11:31 +0000
commit5b8c5970bdfc817cac9b59f699925c4426c59b61 (patch)
tree3d1939d06aea84e51de6c0d81339d261e97bcbff /doc
parentf879c1b24afd0e7759603352c31571747362af2d (diff)
parent25dc87e6f84c38c21e109e11f7bbd93f1e1f3183 (diff)
Merge bitcoin/bitcoin#29189: RFC: Deprecate libconsensus
25dc87e6f84c38c21e109e11f7bbd93f1e1f3183 libconsensus: deprecate (Cory Fields) Pull request description: This library has existed for nearly 10 years with very little known uptake or impact. It has become a maintenance burden. In several cases it dictates our code/library structure (for example necessitating LIBBITCOIN_CRYPTO_BASE), as well as build-system procedures (building multiple copies of object files especially for the lib). Several discussions have arisen wrt migrating it to CMake and it has become difficult to justify adding more complexity for a library that is virtually unused anyway. See for example the discussions: https://github.com/hebasto/bitcoin/pull/41 https://github.com/bitcoin/bitcoin/pull/29123 And here: https://github.com/bitcoin/bitcoin/pull/29180 Where it is pointed out that the libbitcoinconsensus functions are slower than those the internal bitcoind equivalents due to the missing sha2 implementations. Instead, we (fanquake, hebasto, TheCharlatan, and I) propose simply not migrating it to CMake and letting it end with v27. Any remaining use-cases could be handled in the future by libbitcoinkernel. If there are any users currently using libbitcoinconsensus, please chime in with your use-case! Edit: Corrected final release to be v27. ACKs for top commit: TheCharlatan: ACK 25dc87e6f84c38c21e109e11f7bbd93f1e1f3183 fanquake: ACK 25dc87e6f84c38c21e109e11f7bbd93f1e1f3183 - this library has very little, if any impactful real world usage. It has been entirely broken (on various platforms) for long periods of its existence, where nobody even noticed. Pruning this out to save porting, and starting anew with the kernel, is the sane thing to do. Tree-SHA512: baff2b3c4f76f520c96021035f751fdcb51bedf00e767660249e92a7bc7c5c176786bcf2c4cfe2d2351c200f932b39eb886bcfb22fbec824a41617590d6a1638
Diffstat (limited to 'doc')
-rw-r--r--doc/release-notes-29189.md15
-rw-r--r--doc/shared-libraries.md1
2 files changed, 16 insertions, 0 deletions
diff --git a/doc/release-notes-29189.md b/doc/release-notes-29189.md
new file mode 100644
index 0000000000..f75e450217
--- /dev/null
+++ b/doc/release-notes-29189.md
@@ -0,0 +1,15 @@
+libbitcoinconsensus
+========================
+
+This library is deprecated and will be removed for v28.
+
+It has existed for nearly 10 years with very little known uptake or impact. It
+has become a maintenance burden.
+
+The underlying functionality does not change between versions, so any users of
+the library can continue to use the final release indefinitely, with the
+understanding that Taproot is its final consensus update.
+
+In the future, libbitcoinkernel will provide a much more useful API that is
+aware of the UTXO set, and therefore be able to fully validate transactions and
+blocks.
diff --git a/doc/shared-libraries.md b/doc/shared-libraries.md
index 07aee46f0b..3a448c6556 100644
--- a/doc/shared-libraries.md
+++ b/doc/shared-libraries.md
@@ -2,6 +2,7 @@ Shared Libraries
================
## bitcoinconsensus
+***This library is deprecated and will be removed in v28***
The purpose of this library is to make the verification functionality that is critical to Bitcoin's consensus available to other applications, e.g. to language bindings.