Call for testing: bitcoinj 0.16-beta1

39 views
Skip to first unread message

Andreas Schildbach

unread,
Oct 13, 2021, 12:35:28 PM10/13/21
to bitc...@googlegroups.com
The 0.16 release branch (release-0.16) is now branched off, and there is
a first beta to test. We have decided from now on to put betas on Maven
Central, just like regular releases, to make testing easier.

Please update your Gradle dependencies to

implementation 'org.bitcoinj:bitcoinj-core:0.16-beta1'

and give it a spin. It should mostly be a drop-in replacement, with some
rough edges here and there.

If you encounter missing symbols (mostly methods), if they were
deprecated in 0.15 it's time to migrate to their new versions (already
on your current code). If they were _not_ deprecated, please report them
here, or in the chat, or on GitHub – maybe we can provide a deprecated
compatibility method for one release cycle.

I'm currently putting together the release notes, but here are the most
important points:

--- snip ---

New requirements for developers and users:

* JDK 8+ and Gradle 4.4+ is required for building the project (except
`bitcoinj-wallettenplate`).
* JDK 11+ and Gradle 4.10+ is required for building
`bitcoinj-wallettemplate`.
* `bitcoinj-core` developers can use up to Java 8 language features, but
need to stay API compatible to both Java 8 _and_ Android 6.0.
In practice, using only Java 7 API is a safe bet.
* `bitcoinj-examples` and `bitcoinj-tools` developers can use language
features and API from Java 8.
* `bitcoinj-wallettemplate` developers can use language features and API
from Java 11.
* `bitcoinj-core` users on Java SE need to provide a Java 8+ runtime. We
run CI on LTS releases, so Java 8, 11 and 17 are tested well.
* `bitcoinj-core` users on Android need to provide API level 23 (Android
6.0).

New features:

* Implement BIP350 – Bech32m format for v1+ witness addresses.
* Implement Taproot BIP341 – send to P2TR addresses. Receiving to and
spending from P2TR addresses and chains will be implemented in a future
release.
* Support for BIP155 `addrv2` messages, including Tor hidden service
addresses.
* Support for BIP133 `feefilter` messages.

Feature removals:

* Remove micropayment channels.
Now that HTLC-based bi-directional payment channels are state of the
art, nobody uses the old style any more.
* Remove alert messages.
The alert message facility has been removed from the Bitcoin protocol
due to its centralized nature.
* Warning: Script execution/full verification is still on the hot seat.
It's still present, but it isn't maintained any more and will
probably be removed in a future release.

--- snip ---

This beta will most likely be followed by more betas, and at some point
in early November I'd like to declare a release candidate.

And once again, if you haven't already, please join our discussion in
our Matrix room:

https://matrix.to/#/#bitcoinj:matrix.org

Thanks!

Andreas Schildbach

unread,
Oct 22, 2021, 10:58:42 AM10/22/21
to bitc...@googlegroups.com
I've just uploaded beta 2, addressing a few compatibility issues that
came up during testing.

Please update your Gradle dependencies to

implementation 'org.bitcoinj:bitcoinj-core:0.16-beta2'

Also, the (full?) release notes for 0.16 are now available at

https://bitcoinj.org/release-notes

Andreas Schildbach

unread,
Nov 4, 2021, 6:59:56 AM11/4/21
to bitc...@googlegroups.com
I've uploaded release candidate 1, almost identical to beta 2.

Please update your Gradle dependencies to

implementation 'org.bitcoinj:bitcoinj-core:0.16-rc1'

If all goes well, I'll release 0.16 next week.
Reply all
Reply to author
Forward
0 new messages