Taproot Assets v0.8.6
In this release, RFQ handling edge cases, address decoding, and tighten up proof verification. The signed v0.8.6 tag points to commit 734ce74dd1e816a833a9727bba741718019fef18.
Fixes
- Edge cases related to RFQ handling across channels.
- Address decoding requires both the script and internal public keys. Proof verification rejects an invalid internal key.
If you were running a tapd node with a configured oracle, you must update due to an important bug fix.
Updating an asset-channel node
- Configure the RFQ price oracle to reject new quotes. Pause outbound asset channel opens, and reject inbound channel opens with an LND channel acceptor.
- Stop onward forwarding with
rejecthtlc=trueinlnd.conf(orlnd.rejecthtlc=truein LiT'slit.conf). Check affected channels withlncli listchannels, then settle or reconcile pending HTLCs before replacing binaries. Restarting does not clear pending HTLCs. - Update affected nodes while new quotes, channel opens, and onward forwarding remain blocked. Verify the running versions and archive hashes.
- Keep those controls in place until outstanding quotes have expired or been reconciled. Then resume channel admission, forwarding, and quotes. The default RFQ quote lifetime is 10 minutes; a custom oracle can issue quotes with a later expiry, so use the latest issued expiry.
rejecthtlc blocks onward HTLCs. A node can still send and receive its own payments. The default asset invoice expiry is 5 minutes and is separate from the quote lifetime.
Verifying the release
Verify the signed tag with git verify-tag v0.8.6. The developer public keys are in scripts/keys.
Download manifest-v0.8.6.txt and the archive for your platform. Run shasum -a 256 <archive> and compare the result with that archive's entry in the manifest. The release also includes taproot-assets-source-v0.8.6.tar.gz and vendor.tar.gz for a contained rebuild; see the reproducible build guide.
The release archives were built with Go 1.26.3. The Linux amd64 tapd binary records the tagged commit as its VCS revision and reports a clean source tree. The manifest currently has no detached GPG signature or OpenTimestamps files attached, so verification of the manifest itself depends on reproducing the build or another trusted copy.