Changelog History
Page 1
-
v1.9.12 Changes
March 21, 20261.9.12
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.yml
π file. See instructions hereIf you are a typescript
developer, you can access the backend via our typescript libraryExecutive Summary
π This release
- π Publishes native arm64 binaries for macOS in addition to linux
- β‘οΈ Updates native libsecp256k1 binaries
- β Adds support for pure JVM FROST (Threshold Signatures)
- β‘οΈ Updates the pure JVM MuSig2 implementation to be BIP327 compliant
- β Adds support for bitcoind v30
- π Improves performance of database connection handling and node message processing
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.12.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-server
to start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.12.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Mon 18 Apr 2022 02:19:54 PM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.strippedWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://central.sonatype.com/repository/maven-snapshots/
Modules
app commons
App server
π d8baef0 Add Taproot witness support to decodeRawTransaction (#6194)
bitcoind rpc
π This release adds support for bitcoind v30.2 and removes support for v27.
π ca8d37e bitcoindRpc: Add support for bitcoind-rpc v30.2 (#6177)
π dbdd1a2 bitcoindRpc: Remove support for bitcoind v27 now that it is EOL (#6115)
69debb6 Bump to bitcoind v29.2 (#6114)
392cc7c 2025 10 01 bitcoind v30 (#6095)
57960f2 bitcoindRpc: Cleanup old bitcoind data strutures (#6122)π Build
π 4634808 build: More scala3 backward compatible syntax changes from #5713 (#6265)
π 73d9ad6 build: Re-add {wallet,oracle}-server-extra-startup-script.sh to fix broken jre on arm64 machines (#6263)
1bba4a3 Pull over modules from #5713 that have source compatible scala3 changes (#6257)
π 765a620 Remove -Xms512m, bump -Xmx to 8gb from 4gb (#6229)
π d58ca4e Add native ARM64 Mac jlink support using GitHub macos-15 runners (#6201)
π 8592124 ci: Use zulu jdk for docker release to avoid temurin jlink/jdep bug (#6104)
β‘οΈ 1aaa397 ci: Update CI runners to java 25 (#6101)chain
π This release includes optimizations for block header ancestors and chain verification.
This implements consensus checks for timestamps in block headers.d092aed chain: Make
CompactFilterDAOqueries lazily created to avoid hotspots inPeerManager(#6218)
β‘οΈ 279c187 chain: Optimize getBlockchainsBetweenHeights() (#6214)
β‘οΈ dde9255 chain: Optimize BlockHeaderDAO.getAncestorAtHeight() (#6211)
π dab5bbe Move 'getmediantimepast' to Blockchain data structure (#6164)
π 1a91847 chain: Fix ChainApi.nextFilterHeaderBatchRange() when we request build a FilterSyncMarker for compact filter
π headers we have already seen (#6080)cli
clightning rpc
β¬οΈ a73590f clightningRpc: Upgrade clightning RPC to 25.09 (#6108)
d487a64 Bump clightning to v25.02 (#6106)
β‘οΈ 4529706 clighntingRpc: Update clightning to 24.11.2 (#5896)Core
π This release adds support for FROST and updates MuSig2 to be BIP327 compliant.
π It also includes significant performance improvements for script deserialization.0c31170 core: Cache the byteVector representation of our Script in
ScriptProgram(#6232)
00de151 core: Add ability to construct a scriptsig from the scriptPubKey it is spending (#6152)
π° f7fe697 core: Cleanup NetworkPayload.scala (#6118)
π 3ce7b68 core: Move NodeConstants to core, use it in the version message (#6116)
f568589 core: Fix CompactFilterHeaderDb.toString() (#6083)
ca9e8d8 Fix Taproot fundingOutputs ordering to comply with BIP-341 (#6129)
a0ec5e5 core: Make NotFoundMessage not inherit from InventoryMessage, handle NotFoundMessage differently than
InventoryMessage in node (#6175)
β‘οΈ 58533ff 2026 01 16 update libsecp256k1-zkp (#6181)Crypto
π This release adds support for FROST (Threshold Signatures) and updates MuSig2 to be BIP327 compliant.
d70d242 Adapt MuSig2 API to adhere to BIP327
2344c18 2026 01 13 FROST signing and verification (#6190)
1ca8b3b crypto: Add XOnlyPubKey.verify() helpers to verify schnorr signatures with a xonly public key (#6230)db commons
π This release re-enables teh hikari connection pool by default. The pool size is 4 connections.
π This release also modifies the parameters given to sqlite connections to improve performance and reliability.
π§ A new configuration available isbitcoin-s.{module-name}.dbCommons.busyTimeoutwhich sets thebusy_timeoutparameter
for sqlite connections,
which can help avoidSQLITE_BUSYexceptions when multiple connections are trying to access the same database file.
0οΈβ£ By default this is set to 30 seconds.0οΈβ£ 99750b0 2026 03 11 Bump database connection pool size from
1->4by default (#6253)
ec7eab3 dbCommons: sqlite: Changetransaction_modetoIMMEDIATEfor sqlite (#6252)
49bc289 dbCommons: Rework DbAppConfig to allow for multiple database connection pools over the lifetime of the
DbAppConfig class on the JVM (#6245)
π§ 4276f54 dbCommons: config: Add BUSY_TIMEOUT configuration setting for sqlite databases (#6250)
41f5244 dbCommons: Fix setting WAL for sqlite connections, don't register mbeans (#6246)DLC node
DLC Oracle
DLC Server
DLC wallet
π cb2173c Remove old DLC migration code (#6248)
0οΈβ£ 9bacdb7 Fix missing default parameter in DLCAppConfig (#6244)Eclair rpc
β‘οΈ 18e5054 eclairRpc: Update Eclair RPC interface to v13 (#6107)
5f869f6 2025 10 07 eclair v12 (#6105)gui
fee rate
keymanager
Lnd rpc
β‘οΈ 94bee8e Update LND RPC support to v0.20.1-beta
β¬οΈ a68b7a3 Upgrade lnd RPC interface to support v0.19.3-beta (#6109)node
π This release improves node message processing and peer management.
74b063b node: Add receivedAt timestamp for ControlMessages (#6213)
bc30c9d node: Bump # of parallel offers to PeerManager from 1 -> FutureUtil.getParallelism (#6206)
π a09e719 node: Add receivedAt field to DataMessageWrapper, add more logs around the amount of time to process a
DataMessage (#6204)
π 4f461ca node: Remove the duplicate chainConfig/nodeConfig in NeutrinoNode (#6127)
π 8135505 node: Fix bug where we weren't processing the block if we hadn't seen its header before (#6126)
728c942 node: Store VersionMessage in PeerData (#6121)
π c50f656 node: Add logs to indicate what peer a message originated from (#6096)
π² a0b48b0 node: Add invalid block header error message to log (#6088)
448ce39 node: Fix bug when removing a peer from NodeState when we are in the MisbehavingPeer state (#6076)
3e7b767 node: Add invariant to NodeState that says you cannot both be a steady state peer and be waiting for
disconnection (#6075)wallet
The release improves the performance of transaction processing and adds database indexes to
txo_spending_infofor
txidandtxo_state.The processing of a single transaction gossiped on the network is improved by 100x in some cases.
π This release also fixes a bug where we weren't properly subscribing to the
π¦ block processing completion signal inTransactionProcessing,
which could lead to receiving too many blocks too fast
or a malicious peer never sending a block without us noticing.5330f59 wallet: Cache keymanager (#6242)
e29ae91 wallet: Add database indexes totxo_spending_infofortxid,txo_state(#6215)
98d9c62 wallet: ChangeprocessTransaction()return type fromUnit->ProcessTxResult(#6205)
π¦ 2565a45 wallet: Fix bug inTransactionProcessing.subscribeForBlockProcessingCompletionSignal()(#6136)scripts
β testkit-core
β testkit
π This release modernizes the test infrastructure to use testcontainers and improves test reliability.
β 38e0516 testkit: Renable hikari connection pool by default in test cases (#6251)
β 2b1917b 2026 03 09AppConfiglifecycle management in test fixtures (#6249)
β fa04f67 2026 02 12 Rework tests to use testcontainers directly (#6221)
ad7b860 tes... -
v1.9.11 Changes
September 03, 20251.9.11
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release
- π Improves performance of serialization/deserialization in
core - β Adds support for the
testnet4network. You can set this withbitcoin-s.network = "testnet4"in yourbitcoin-s.conf - β Adds support for
v29of bitcoind - Installs the datadir in the correct place for mac installs
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.11.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.11.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Mon 18 Apr 2022 02:19:54 PM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.strippedWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://central.sonatype.com/repository/maven-snapshots/
Modules
app commons
App server
π Starting with Bitcoin-S 1.9.11, the macOS data directory has moved:
- Before 1.9.11: ~/.bitcoin-s
- π 1.9.11 and later: ~/Library/Application Support/bitcoin-s
π This change aligns with Appleβs guidelines for application data storage. macOS expects apps to keep user-specific support files in the Application Support folder inside your Library directory. This keeps your home folder organized, ensures compatibility with macOS backups (like Time Machine), and follows best practices for sandboxed and secure applications.
π Your existing data will not be automatically migrated. If you want to keep your old data, you can manually move the contents from ~/.bitcoin-s to ~/Library/Application Support/bitcoin-s.
fd3901f Add migration code to put app data in proper spot on mac for fresh installs (#5622)
4f1be33 appServer: Fix bug where we weren't implementing bitcoind callbacks correctly for rescans (#5998)bitcoind rpc
π This release adds support for v29 of bitcoind and bumps the minor releases to 28.2 and 27.2.
2a8fbc4 bitcoindRpc: Fix
listUnspent()forVector[BitcoinAddress]param (#6038)
π 1b139d8 Add support for bitcoind 28.2 (#6037)
8238037 2025 07 29 bitcoind rpc v29 (#6033)
π f97d61c bitcoindRpc: Remove support for v26 of bitcoind-rpc as its past EOL (#6032)
7b1fd8e bitcoindRpc: Implement 'scantxoutset' RPC (#5936)
9d84ff5 bitcoindRpc: Make 'gettxout' RPC handle null return correctly (#5930)
β‘οΈ 7eef13e Update bitcoind to 28.1/27.2 (#5893)π Build
π We now publish our SNAPSHOT release to central sonatype. For more information please read here
π ab8d294 build: Remove sonatype build settings as it doesn't fix redirect loop (#6014)
π§ 7bc7a77 Explicitly state the publishTo configuration to whatever sonatype says (#6013)
π 0d08342 Try specifiy explicit sonatype endpoint to publish jars to to be compatible with the changes in sbt ci release 1.11.x (#6012)chain
cli
clightning rpc
Core
π This release improves support and fixes bugs for handling Taproot transactions.
π It also improves performance of core.2a8b465 core: Add a type to the taproot annex (#5999)
β c0a1219 core: Add support for testnet4 (#5945)
2dd140a core: Add TxSigComponent.spendingOutputs (#5957)
π¨ c999084 refactor: Rename TxSigComponent.output -> TxSigComponent.fundingOutput (#5956)
fb49548 core: FixTapscriptControlBlockbugs (#5955)
6d240d5 core: AddTaprootWitness.sigVersion(#5954)
6287e41 core: Change type fromByte->LeafVersioninTapscriptControlBlock(#5953)
32eaf31 core: Add ADT forLeafVersion(#5952)
aeca55f core: Fix type annotation onTapscriptControlBlock.apply()(#5951)
ed66937 core: Fix bug when converting OP_0 to long (#5948)
959993b core: Add Address descriptors from BIP385 (#5935)
β‘οΈ 62252da core: Optimize base58 serialization and deserialization (#5934)
π 124451f core: Add carveout for parsing 'nonstandard' string to ScriptType.NONSTANDARD (#5933)
0c8f865 core: TighthenScriptFactory.isValidAsm()checks (#5929)
12c1bdf core: TightenMultiSignatureScriptPubKey.isValidAsm()check (#5928)
π b291e6d core: Use splitAt() rather than duplicitvely slicing in ScriptParser.sliceConstant() (#5927)
π 31fbada core: Remove ParsingHelper inside of ScriptParser (#5926)
π adfeb7f core: UseByteVector.concatinRawTransactionInputParser.write()(#5925)
π 2a0b2e6 core: UseArrayBufferinstead ofVectorinside ofScriptParser.parse()(#5922)
π 3c148eb core: Don't unnecessarily encode to hex when parsing pushdata ops (#5923)
ec00e22 crypto: Add buffer size calculation to efficiently use memory (#5919)
β‘οΈ a1dc9fb core: Optimize Int64.fromBytes(), add invariant that WitnessTransaction.fromBytes must have at least 4 bytes left over for the locktime (#5914)
8954e24 core: CheckmaxPushSizelimit inside ofP2SHScriptSignature.isValidAsm()(#5921)
16e2ea2 core: Check if P2SHScriptSignature is push only when type checking (#5920)
β‘οΈ c96df6a core: Optimize WitnessCommitment.isValidAsm() (#5918)
db06873 crypto: Cache ECPublicKeyApi.isFullyValid (#5916)
618338b core: Use ByteVector.concat() to create transaction serialization (#5910)
752a758 core: MakeBytesUtil.writeCmpctSizeUInt()faster by avoidingBigIntallocations inCompactSizeUInt(#5909)
β‘οΈ 4547052 core: Optimize writing of block headers to avoid unncessay array copies (#5908)
6f9efaf core: Add ScriptNumber check in P2SHScriptSignature.isRedeemScript() (#5900)
β‘οΈ 73cf14d core: Optimize ScriptParser.parseOperationByte() (#5899)Crypto
π This release removes the requirement that data being signed be 32 bytes in length.
Arbitrary data lengths can now be signed in accordance to BIP340.π 45fbbd9 2025 03 15 Remove
data.length == 32requirement from secp256k1jni (#5961)
74d8b59 crypto: Avoid recomputing ECPublicKey by caching it (#5915)db commons
DLC node
DLC Oracle
DLC Server
DLC wallet
Eclair rpc
β¬οΈ cda49a1 Upgrade eclair to 0.11.0 (#5894)
gui
fee rate
keymanager
Lnd rpc
β¬οΈ 8331c6d lndRpc: Upgrade lnd to 0.18.4 (#5895)
Lnurl
π 6511add lnUrl: Remove LnUrl module (#5917)
node
c2f957b node: Fix bug where we were circumventing bitcoin-s.node.enable-peer-discovery (#5962)
π² c6d8319 node: Log receiving control messages (#5947)
π² f6820d1 node: Log sending version message (#5946)wallet
scripts
6d7f53d scripts: Rework scanBitcoind() to take a Sink parameter to stream scan results to (#5981)
β‘οΈ bf3fc65 scripts: Update logback.xml (#5898)β testkit-core
β testkit
tor
Website / Deps
β‘οΈ 97d2eb2 Update metrics-core to 5.0.4 (#6057)
β‘οΈ e3d7b54 Update metrics-core, metrics-healthchecks, ... to 4.2.36 (#6056)
β‘οΈ 47b9a17 Update pekko-actor, pekko-discovery, ... to 1.2.0 (#6058)
β‘οΈ 0d049f6 Update sbt, scripted-plugin to 1.11.5 (#6053)
β‘οΈ 4cc6e8c Update metrics-core, metrics-healthchecks, ... to 4.2.34 (#6052)
β‘οΈ edbe2cd Update scalapb-runtime to 0.11.20 (#6051)
β‘οΈ 09e716c Update sbt-unidoc to 0.6.0 (#6050)
β‘οΈ cbc4a44 Update sbt-native-packager to 1.11.3 (#6049)
5eddf19 Add 1.9.11 website version (#6046)
β‘οΈ c378cfd docs: Update website deps (#6045)
π 88740c8 docs: Update datadir location for macOS in documentation (#6044)
π d614de7 Fix typos and spelling errors in documentation (#6025)
π 8827c37 Fix typos and spelling errors in documentation (#5990)
π 7f84944 fix: typos in documentation files (#5913)
β‘οΈ 349f78f Update metrics-core to 5.0.2 (#6047)
π d900150 Update sbt-ci-release to 1.11.2 (#6042)
β‘οΈ 6b3c510 Update scalamock to 7.4.1 (#6040)
β‘οΈ 4d71d83 Update sbt-bloop to 2.0.13 (#6039)
β‘οΈ 79a8877 Update sbt, scripted-plugin to 1.11.4 (#6036)
β‘οΈ 66efeae Update sbt-bloop to 2.0.12 (#6034)
β‘οΈ f3ddc79 Update pekko-actor, pekko-discovery, ... to 1.1.5 (#6030)
β‘οΈ 9329546 Update sqlite-jdbc to 3.50.3.0 (#6031)
... - π Improves performance of serialization/deserialization in
-
v1.9.10 Changes
January 25, 20251.9.10
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release adds taproot keypath signing support. You can enable this with
bitcoin-s.wallet.purpose=taprootin yourbitcoin-s.conf.
π This release improves wallet performance and reliability and fixes various deadlocking issuese in thenode/module.β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.10.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.10.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Sat 25 Jan 2025 10:19:29 AM CST gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] shasum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.10.zip: OK bitcoin-s-cli-mac-1.9.10.zip: OK bitcoin-s-cli-windows-1.9.10.zip: OK bitcoin-s-oracle-server-linux-1.9.10.zip: OK bitcoin-s-oracle-server-mac-1.9.10.zip: OK bitcoin-s-oracle-server-windows-1.9.10.zip: OK bitcoin-s-server-linux-1.9.10.zip: OK bitcoin-s-server-mac-1.9.10.zip: OK bitcoin-s-server-windows-1.9.10.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Modules
app commons
0οΈβ£ 90203b2 Use default play-json json serialization macros for bitcoind json classes that cause issues with scala3 (#5718)
π 4471f74 Adderrorfield toImportDescriptorResult, moveBitcoindExceptionto app-commons (#5705)
6b12bb5 ReworkNativeProcessFactory.cmdto beVector[String](#5623)App server
Also renames
listreservedutxosRPC endpoint togetreservedutxos(43b75cc)
0οΈβ£ The app server no longer runs on tor by default.0οΈβ£ 2315f50 appServer: Disable tor by default (#5876)
βͺ 6ef926b appServer: Revert logback.xml (#5857)
π¨ 788b99c refactor: Improve bitcoind wallet polling logic (#5834)
β 1423f2c appServer: Add missingserver.stop()inBitcoinSServerMainBitcoindTest(#5831)
β f280f35 Replace Future[Wallet] -> Wallet parameter in {BitcoinSWalletTest, BitcoindRpcBackendUtil} (#5796)
π¨ ba8dd75 refactor: DRY forDLCWalletLoaderApi.loadWallet()(#5787)
β 835c98e Fix race condition inWebsocketTests (#5748)
β 9feabc1 MakeWebsocketTestsrescan test more robust (#5661)
π¨ 35003ca refactor: Change interval param ofBitcoindRpcBackendUtil.startBitcoindBlockPolling(#5640)
π¨ 2021f1f 2024 08 13 walletholder appserver refactor (#5639)
41fab3d 2024 08 07createnewaccountrpc (#5638)
458f3cb 2024 07 29 rm tx bitcoind callbacks (#5632)
π bc09757 Remove WalletHolder parameter from DLCWalletLoaderApi.loadWallet() (#5628)bitcoind rpc
β Add support for v28 of bitcoind.
π f85953e 2024 10 13 rm bitcoind v25 support (#5707)
38f0f4d 2024 10 07 v28 bitcoind (#5696)
38850d2 2024 07 31 bitcoind callbacks (#5631)
π dad7e1c Add support for bitcoind 27.1 (#5609)π Build
We are now source compatible with scala3.
β¬οΈ e55e832 2025 01 16 Upgrade download/upload artifact to v4 (#5864)
π· ba4d21c Try pinning CI image to ubuntu 22.04 for now as a workaround untilsetup-javasupportssbtinstallation (#5843)
π 30663fe Remove scala version speicfic build code (#5737)
π 29f10d0 Turn on -Xlint (#5728)
π 88125a3 Remove .jvmopts file comments, they do not work on ubuntu (#5730)
28001af Add .jvmopts, conslidate JVM options there (#5729)
β 7c07aa0 Pull over simple syntax changes for {cli,oracleServer,bench,dlcNode,dlcOracle,dlcOracleTest,eclairRpc,lndRpc,lndRpcTest} from #5713 (#5721)
6027251 Pull over simple syntax changes for scala3 pt2 (#5720)
ab6d3f5 Pull over simple syntax changes for scala3 libraries (#5719)
46d6256 Switch distrubution to temurin, use full semver (21.0.4) (#5704)
π 48462d4 add checkout action to electron build (#5604)
π 1b109e7 Add previous tag to electron build steps (#5599)
4885bdb Add-Xsource:3tolnd-rpc(#5595)chain
βͺ 84aba7e Remove test case specific fixture setup in chainTest, revert to just using test suite specific fixtures (#5712)
cli
π² 841762b cli: Fix log output for bitcoin-s-cli (#5664)
clightning rpc
Core
β Add support for taproot keypath signing.
β Add the ability to generate digital signatures with a specific hash type.
Modify collection types used in core fromSeq->Vector.π° 07270ba core: Rework NetworkPayload traits to use Vector instead of Seq for methods (#5845)
β d1618a2 Add unit test for RescanState to test recursive rescans correctly (#5786)
fb318ef core: Fix bug where we weren't checking for valid hash types inTaprootKeyPath.isValid()(#5780)
b6cc97a 2024 11 20 prevoutmap ordering (#5776)
67bb3ce 2024 10 31 taproot signing (#5767)
80be2f5 2024 11 15 partialsig typeparam (#5770)
bb0e40f 2024 11 16 rm isdummysig (#5771)
fc4802d core: Implement BIP86 (#5768)
c5d57de core: Fix divergence in behavior between TransactionSignatureSerializer.hashForSignature() methods (#5765)
4e8d5ec AddSign.{signWithHashType(),signLowRWithHashType}(#5757)
5187eee core: Terminate rescan early when RescanStarted.stop() is called rather than wait for the rescan to complete (#5749)
e419b18 2024 10 23 merkle vector (#5734)
07f17cf Rework Block and Transaction data structures to use Vector rather than Seq (#5733)
dca2146 2024 10 19 rm generic btree (#5725)
5f47fbe Use BinaryTreeDoubleSha256Digest inside of Merkle.scala rather than BinaryTree[DoubleSha256Digest] (#5724)
1939e9f core: Fix bug in RescanStarted.entireRescanDoneF (#5654)Crypto
cccaa58 Add
Sign.{schnorrSign(),schnorrSignWithNonce()}toSigninterface (#5754)
17f965f 2024 11 09 schnorrsig hashtype (#5764)
e69e1e5 2024 10 31 digitalsignature (#5752)db commons
π 00b1c85 Remove TableAutoInc[T] type parameter, its unnecessary and causes issues (#5711)
DLC node
DLC Oracle
DLC Server
DLC wallet
52c0625 2024 09 30 dlcwallet has a wallet (#5692)
π¨ 7d8dd2b refactor: Provide DLCWalletUtil.verifyProperlySetTxIds() with the contractId (#5657)
π feeb261 Move DLCDAOs to src (#5652)Eclair rpc
gui
fee rate
π 3925098 feeProvider: Ignore bitcoiner.live as site seems to be down (#5854)
keymanager
Lnd rpc
bbac259 Bump to lnd 18.x (#5695)
Lnurl
node
π Fix various deadlock scenarios in
node.
π This release also significantly improves startup performance of the node.52040da node: Fix bug where we we could have more connections than allowed by
bitcoin-s.node.maxConnectedPeers(#5885)
6a51b7c node: Limit initial stack push inPeerFinder.start()tomaxSearchCount^2(#5882)
baa4ddf 2025 01 23 issue 5878 (#5883)
40fef6e node: Add invariant we have peerServices when we cann PeerManager.handleConnect() (#5880)
β‘οΈ fa4c286 node: Updatehardcoded-peers.txtwith whats inbitcoin/contrib/seeds/nodes_main.txt(#5877)
π 9adbd88 node: Only query p2p seeds if we have no peers in our database (#5875)
3bf7e6a node: Use approprate ServiceIdentifer throughout node/ module (#5874)
85cc536 node: Rename PeerData.stop() -> PeerData.disconnect() (#5867)
4f0c3da node: Fix bug where we were dropping cached outbound messages on the floor (#5853)
β a94fc3a node: AddPeerStackTest, fix bug where we could have the same ip address multiple times inPeerStack(#5848)
π 4d9c52c node: Move killswitch downstream to avoid queue deadlocks (#5819)
β‘οΈ 812f735 node: Update DNS seeds, optimizePeerFinder.start()to start queryingβ¦ (#5807)
eb6edab AddNodeState.NoPeers, cache network messages (#5800)
β dbe1e7b tests: MakeNeutrinoNodeWalletTestmore robust against spurious failures (#5784)
4befe4e Fix potential deadlock when offering to queue in managePeerAfterInitialization() (#5667)
π cbccecf Add caveat forConnectPeerlogic to only attempt to sync from a peer when a query is timed out (#5666)
π° 490e021 Add payload to query timeout log (#5660)wallet
β Add taproot...
-
v1.9.9 Changes
May 16, 20241.9.9
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release updates our RPC support, adds descriptors to
coreand updated our build to work towards support of scala3.β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.9.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.9.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Thu 16 May 2024 10:28:09 AM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate]Website
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Modules
app commons
3d29bef Delete directory using Files.delete() (#5518)
App server
bitcoind rpc
π This release adds support for
25.x,26.x, and27.xof bitcoind's RPC interface.π This release removes support for
0.21,22.x,23.x, and24.xof bitcoind's RPC interface.0οΈβ£ 18cb4f3 Add -datadir to when obtaining bitcoind -version to avoid using default datadir (#5574)
c8266cf Implementgetrawmempoolverbose (#5573)
5d0056a Add missing fields toGetMemPoolInfoResult(#5572)
β cb3fbe5 Rework BitcoindRpcTestUtil.getBinary() to match major and minor versions of bitcoind binary when possible (#5569)
6543b26 ImplementbitcoindRPC 27.0 (#5552)
7ef6086 Implement bitcoind RPC26.x(#5550)
5dc5cca 2024 04 24 rm v24 (#5549)
d23d785 reworkbitcoind-rpcto take awalletNameparameter that is a String (#5545)
0οΈβ£ 1d42de0 Makewallet.datbe the default wallet name for bitcoind in our codebase (#5543)
23e3265 Implement bitcoind25.2(#5540)
β 68d267a 2024 04 21 bitcoindrpc testfixtures (#5539)
π f7adb62 Remove support for 23.x of bitcoind (#5538)
π 7b34632 2024 04 21 RemoveBitcoindV22RpcClient(#5537)
π 9442dba Remove support forv21ofbitcoind(#5496)
c01793d Implement importdescriptors RPC (#5534)
e143792 2024 04 16 bitcoindrpc descriptor (#5530)
π¨ d162242 2024 03 24 v21 rpc refactor (#5494)π Build
π This release adds the
-Xsource:3compiler flag to all modules exceptlnd-rpc.π This release also bumps the java version in our docker files from
17->21.π 2b1f85e 2024 05 14 mac electron release (#5594)
a6b7fad Get rest of codebase compiling with -Xsource:3 (#5592)
05894e8 2024 05 10 keymanager xsource3 (#5583)
37fc215 2024 05 10appCommons/compiling with-Xsource:3(#5582)
d13e12a 2024 05 11 wallet xsource3 (#5588)
0af5848 Add -Xsource:3 to rpc projects (#5590)
β 562e560 Add -Xsource:3 to node/ node-test/ tor/ tor-test/ (#5589)
ac77394 Add -Xsource:3 tochain/(#5587)
791ff32 Add -Xsource:3 to db-commons/ (#5585)
π 4b17645 Add -Xsource:3 to docs/ (#5581)
654d408 2024 05 08 scala3core(#5580)
f2ae03b Fix jlinkIgnore after bumping waffle-jna to 3.4.0 (#5577)
π 9fe67bb Remove remaining 2.13 specific code as 2.13.x is the only compiler version supported (#5576)
3af204e Pull over scala3 compatible code forcrypto/project (#5575)
π f707db0 Try to fix release build to workaround (#5579)
π 90e370c Remove TorTests.yml as it spuriously fails on CI connecting to the tor network, add build commands to Compile.yml (#5578)
4f288a1 2024 05 02 intellij compile (#5562)
β 7327975 RenableparallelExecutionforbitcoindRpcTest(#5541)
π 2102e4d Trybrew install sbtas workaround for macOS Ci runners failing to install sbt (#5555)
β‘οΈ 97fe795 Update dialect to scala213source3 (#5536)
π dc16ddf Migrate fromsetup-scalagithub action tosetup-javagithub action inrelease.yml(#5504)
π· 723e2f6 Bump java-version from 17 -> 21 on CI (#5503)chain
π 376872e Remove different versions of Blockchain.scala now that we don't support scalac 2.12 (#5519)
cli
clightning rpc
β¬οΈ 4f791d7 Upgrade clightning to
24.02.2(#5558)Core
π This release adds support for descriptors.
π This release does not integrate the descriptors into our wallet module, yet.a6d9362 2024 04 16 descriptor fidelity (#5529)
0fa3be3 2024 04 08 Descriptors (#5525)
2536fd3TapscriptTree,TapBranch,TapLeaf(#5520)
7903276 Tighten P2WSHWitnessSPKV0.apply() to only take RawScriptPubKey (#5509)
4ae9067 Add invariant to P2WPKHWitnessSPKV0.apply() to make sure ECPublicKey is compressed now that we have #5502 (#5508)
c2cbaae Add invariant to make sure we can't have p2sh(p2sh()) (#5507)
99c1292 Addxoroperator asNumberType.{^,xor()}(#5500)Crypto
This release changes the behavior of
ECPublicKey.bytes. Previously we would always return the compressed version
of the public key, even if we created theECPublicKeyinstance with a non-compressed byte representation.
NowECPublicKey.byteswill return the byte representation that was passed as a parameter.π This release also repurposes the
PublicKeytrait. Now it is extended by all public key types in the codebase
π rather than justECPublicKeytypes. This was needed for descriptor support incore.b83661e Repurpose PublicKey trait, extend it with {SchnorrPublicKey, ECPublicKeyApi, XOnlyPubKey} (#5517)
41c8357 MakeECPublicKeyreturnbytesthat were passed as a parameter (#5502)db commons
DLC node
DLC Oracle
DLC Server
DLC wallet
Eclair rpc
863ffd9 Adjust
OutgoingPaymentStatus.completedAtto beRelayTimestamptype (#5586)
β¬οΈ 7ed2b88 2024 04 30 upgrade eclairv0.10.0(#5557)
β¬οΈ 7ee749a 2024 04 29 eclair upgradev0.9.0(#5556)gui
fee rate
β c2b8ae9 Re-enable mempool api tests (#5560)
β 4915350 Ignore mempool testnet api tests for now as unit tests consistently fail (#5547)keymanager
Lnd rpc
π 819a047 Add support for lnd
0.17.5-beta(#5554)Lnurl
node
π This release fixes a bug where we could deadlock our node's stream when attempting to send a message to our peer.
π 36ec8a2 Rework PeerManagerApi.{sendToRandomPeer, gossipMessage} to return Unit rather than Future[Unit], this removes the possibility of deadlocking on a full queue (#5561)
0οΈβ£ 302110c Bump max connected peers default to 2 (#5515)Oracle Explorer Client
wallet
β testkit-core
β testkit
tor
Website
ZMQ
Dependencies
β‘οΈ 8288b2a Update scodec-bits to 1.2.0 (#5593)
β‘οΈ f300bed Update waffle-jna to 3.4.0 (#5571)
β¬οΈ 6dacfb0 Upgrade to sbt 1.10.0 (#5570)
β‘οΈ 1dcc307 Update play-json to 3.0.3 (#5566)
β‘οΈ 1622988 Update scala-library to 2.13.14 (#5567)
β‘οΈ e70f2ae Update client3:core, ... to 3.9.6 (#5565)
β‘οΈ d6880b3 Update sbt-scoverage to 2.0.12 (#5568)
π 368e0ac Remove scala-async dep as it is not used (#5535)
β‘οΈ 899d491 Update logback-classic to 1.5.6 (#5531)
β‘οΈ afddf73 Update scalafmt-core to 3.8.1 (#5501)
β‘οΈ 2b497c6 Update scalacheck to 1.18.0 (#5533)
β‘οΈ fd4c4d3 Update bcprov-jdk18on to 1.78.1 (#5532)
β‘οΈ 6f6a78a Update scalacheck to 1.17.1 (#5527)
β‘οΈ b83e577 Update sqlite-jdbc to 3.45.3.0 (#5528)
β‘οΈ d39d89b Update scala-collection-compat to 2.12.0 (#5526)
β‘οΈ c328ec8 Update sbt-native-packager to 1.10.0 (#5522)
β‘οΈ c26bd8d Update slick, slick-hikaricp to 3.5.1 (#5524)
β‘οΈ 24a0bd4 Update logback-classic to 1.5.5 (#5521)
β‘οΈ 81a72b2 Update slf4j-api to 2.0.13 (#5523)
β‘οΈ f20ea74 Update logback-classic to 1.5.4 (#5516)
β‘οΈ d3fca35 Update otj-pg-embedded to 1.0.3 (#5512)
β‘οΈ 4377b08 Update scalamock to 6.0.0 (#5514)
β‘οΈ 4bb1724 Update sbt-bloop to 1.5.17 (#5510)
β‘οΈ 790708d Update junixsocket-core to 2.9.1 (#5511)
β‘οΈ 9b93a5a Update bcprov-jdk18on to 1.78 (#5513)
β‘οΈ c747f14 Update play-json to 3.0.2 (#5359)
β‘οΈ dae7b05 Update sbt-bloop to 1.5.16 (#5499)
β‘οΈ 2cb358f Run yarn upgrade to update website deps (#5495) -
v1.9.8 Changes
March 25, 20241.9.8
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereExecutive Summary
π This release reworks the
nodeimplementation to use pekko streams. This release of bitcoin-s
π also moves away from akka to pekko due to akka's licensing changes.β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.8.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.8.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Tue 26 Mar 2024 08:42:55 AM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.8.zip: OK bitcoin-s-cli-mac-1.9.8.zip: OK bitcoin-s-cli-windows-1.9.8.zip: OK bitcoin-s-oracle-server-linux-1.9.8.zip: OK bitcoin-s-oracle-server-mac-1.9.8.zip: OK bitcoin-s-oracle-server-windows-1.9.8.zip: OK bitcoin-s-server-linux-1.9.8.zip: OK bitcoin-s-server-mac-1.9.8.zip: OK bitcoin-s-server-windows-1.9.8.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Modules
app commons
π c6524b9 remove usages of new URL() as constructor is deprecated on jdk 20+ (#5219)
App server
Implements a
getconnectioncountRPC to query how many peers we are connected to.4501e13 Stop BitcoinSAppConfig last in BitcoinSServerMain.stop() (#5493)
b25cc8a Fix start rescan race condition, previously we would attempt to fetch blocks before our NodeApi had any peers (#5491)
β 00c84a9 Set max-open-requests = 64 for appServerTest (#5442)
c407c2e 2024 02 29 cleanup logback files (#5441)
b0cf3d8 Fix race condition betweenNodeAppConfig.migrate()calls whenbitcoin-s.tor.enabled=false(#5120)
π 4fd7af0 Remove check to see if seed exists when loading a wallet, the key manager can initiate the seed if it dne (#5094)
447c6d0 Implementgetconnectioncountrpc (#5048)
π» 6b03133 Fixempty.tailexception occurring on chain block filter / filter headers callbacks (#5021)
β e3e1c7f Try bumping timeout to 1 second to avoid false positives test failures (#5018)
π² e993335 Improve error logging on server (#4896)bitcoind rpc
β Adds support for bitcoind v24. Removes support for bitcoind v19 and v20 as they are past EOL.
β¬οΈ a18bd70 Upgrade to bitcoind
24.2(#5284)
fa34cb4 Bump bitcoind minor versions to24.1/23.2(#5088)
π 3db663a Removev20bitcoind support (#4992)
π af349d2 Remove support forv19of bitcoind (#4991)
π ff8376c Callsyncwithvalidationinterfacequeueinside of{generatetoaddress,generateblock}(#4987)
β 9a80644 Fix UTXORpcTest flakiness (#4986)
π b329c36 Add rpc for syncwithvalidationinterfacequeue, use it in NodeUnitTest.syncNeutrinoNode (#4983)
332893b Add generateblock bitcoind rpc (#4906)
f4244d7 Add bitcoind v24 (#4902)π Build
π³ 0bd5978 Remove neutrino.suredbits.com:8333 from docker-compose.yml (#5492)
π 58adf4c Fix build warnings for --compress flag in jlink (#5485)
βͺ 9aa730d Revert yml files (#5449)
dd71313 Consolidate disabled secp256k1 workflow into Compile workflow (#5445)
β 1317adf Add zmq/test and chainTest/test to OS's we weren't previously running on (#5443)
1b25994 Re-add java.sql module to cli jlink image to fix #5411 (#5412)
π 83a27e2 Add new macOS CI matrix to try and speed up mac jobs (#5364)
db21b88 Set flag nativeImageInstalled =: true so we don't overwrite system's nativeimage (#5358)
π a7b67fc 2024 01 18 fix native image build (#5357)
16fb5d2 2023 12 19 compiler opts (#5330)
β¬οΈ 1084be8 Upgrade cache action to v3 (#5326)
π a93954c Only generate scaladoc on CI to decrease build time (#5220)
π a18dc6c Add java.instrument to jlink dev builds (#5210)
π dd77eb0 Add jdk.management.agent module on dev builds (#5115)
π cb272dd Fix build by ignoring junit transitive dep (#5071)chain
π Fixes a few bugs with filter's and reorgs.
β 8b23b1f Add delay to wait for zmq to get setup in chainTest (#5427)
β 8f812c6 Fix Promise already completed errors in chainTest (#5440)
π 748121f 2023 01 06 small chainhandler bug fixes (#5345)
3a927ed Fix bug when requestingFilterSyncMarkerfor filter headers (#5344)
5e81ec5 AddChainApi.getBestChainTips()(#5338)
f1775c4 Simplify ChainHandler.nextFilterHeaderBatchRange() (#5336)
π¨ af36116 RefactorChainHandler.findNextHeader()to only take 1 blockchain (#5335)
π d983a1b 2023 12 24 Make filter headers / filters sync work with block header reorgs (#5333)
3e6ff52 2023 09 27 issue 5139 (#5247)
0οΈβ£ e15bf6c reduce defaultbitcoin-s.chain.neutrino.filter-batch-sizeto250(#5230)
β‘οΈ 0e2fddc Optimize bestFilterHeaderHeightQuery (#5223)
8ab9718 Reduce best filter height sql query costliness by using a cheap check (#5206)
π 39cec3a Fix bug where we weren't checking if filters are stale when determing if we need to sync filters (#5203)
4a344f0 Fix bug inChainApi.processFilterHeaders()(#5157)
dc0e364 2023 03 24 is tip stale (#5024)
π de0e892 2023 02 27 Fix bug where duplicate filters caused node not to sync (#5008)
7f08458 Check compact filter headers if we have already stored them in the database (#5003)cli
π¨ c038d2f 2023 08 30 refactor
ConsoleCli(#5217)
d1c9228 Fix getpeers -> getconnectioncount in cli (#5052)clightning rpc
d53ed7d Bump clightning version to
v23.02.2(#5025)Core
π Fixes parsing bugs, caches txid computation to avoid re-computing large transaction's txid.
55e4dab Rework
NodeApi.downloadBlocks()to useDoubleSha256DigestBE(#5456)
b27cebc 2024 02 23TaprootKeyPath.isValid()bug (#5421)
195cfbd Fix handling invoice with minimal encoding of feature bits (#5405)
d641c3d 2024 01 25 Cache txid (#5374)
5885f4e 2024 01 26 rm lazy bytes (#5373)
be1ec84 Fix bug in classifying things asMultiSigSPKthat do not have enough public keys in the Script (#5371)
π a66925d Fix bug where IndexOutOfBoundsException was occuring when parsing a script with only OP_CMS (#5370)
fd09724 2024 01 23 Validate we havemaxSigsnumber of public keys inMultiSignatureScriptPubKey(#5369)
039144c Add access to underlying MultiSignatureScriptPubKey scriptNumbers represents requiredSigs, maxSigs (#5366)
0f95a1f Fix bounds checking for MultiSignatureScriptPubKey.maxSigsRequired (#5365)
7378570 2024 01 20 Fix bug in parsingOP_CLTVandOP_CSV(#5363)
π 618e1ca Fix bug in script parsing logic where we weren't checking if a ScriptNumber was negative for a MultiSignatureScriptPubKey (#5362)
421970d 2024 01 11 bip68 bip112 txversion bug (#5346)
π 5228218 Move filterBatchCache into NodeState.FilterSync (#5253)
π 4972d0a Move NodeState to core (#5249)
99ca1b7 Add PeerManagerApi.peers (#5170)
ef2c96c Add PeerManagerApi (#5164)
π¨ ba8a0bf 2023 07 17 coretest script refactor (#5150)
π b1e6488 Move Socks5ProxyParams, Credentials into core (#5138)
π aa8da30 RemovebatchAndParallelExecutetest case (#5122)
3740b4f Implement batchAndParallelExecute with Future.traverse rather than Future.sequence (#5051)
π¨ 3728b9a RefactorHDPathpattern matching to be safer. (#5046)
5e6cb0d Fix MilliSatoshis.toSatoshis for large values (#5016)
0577b8c Improve Inventory toString messages (#4997)
8bd10d0 Correctly handle witness v1+ spks in fallback addresses (#4949)
7a3c6ae Fix isLocalhost for 127.0.0.1 (#4900)Crypto
db commons
c92f2ed Add db mapper for ECDigitalSignature (#5002)
DLC node
π 2b117d3 Remove duplicate Peer class (#5141)
DLC Oracle
DLC Server
556c5e0 Fix NullPointerException inside of DLCServer (#5287)
DLC wallet
Eclair rpc
β‘οΈ 2799d82 Update Eclair RPC to v0.8.0 (#4994)
gui
fee rate
keymanager
Lnd rpc
f019871 Lnd v0.17.3 (#5375)
β¬οΈ 008dd42 Upgrade lnd to0.16.4(#5194)
08757d5 Lnd 0.16.0 rpc (#5005)Lnurl
915af37 Add ability to add arbitrary query string params for lnurl pays (#4995)
57b4421 Add nostr zaps params for lnurl (#4988)
ffee1a8 Check lnurl pay invoice description hash (#... -
v1.9.7 Changes
November 15, 20221.9.7
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release delete all DLCs that are settled using the
Alphaversion of the DLC protocol.
β¬οΈ This makes upgrading to the new v0 format of the dlc protocol easier for an implementation point of view.
π» This will not delete alpha DLCs that are still in progress, rather throw an exception on wallet startup.β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.7.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.7.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Wed 16 Nov 2022 09:12:46 AM CST gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.7.zip: OK bitcoin-s-cli-mac-1.9.7.zip: OK bitcoin-s-cli-windows-1.9.7.zip: OK bitcoin-s-oracle-server-linux-1.9.7.zip: OK bitcoin-s-oracle-server-mac-1.9.7.zip: OK bitcoin-s-oracle-server-windows-1.9.7.zip: OK bitcoin-s-server-linux-1.9.7.zip: OK bitcoin-s-server-mac-1.9.7.zip: OK bitcoin-s-server-windows-1.9.7.zip: OK krystal-bull_1.9.7_amd64.deb: OK Krystal.Bull-darwin-x64-1.9.7.zip: OK suredbits-wallet_1.9.7_amd64.deb: OK Suredbits.Wallet-darwin-x64-1.9.7.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Modules
app commons
d0dac09 Add AddressType json reader (#4851)
App server
π Fixes a bug where we did not categorize
Alphaversion DLCs correctly.
π The intent with the 1.9.7 release was to delete these DLCs for ease of upgrading
π to the new DLC protocol. This release fixes this categorization bug, and then deletes the DLCs
that were not previously flagged asAlpha.0035c64 Fix alpha dlc categorization, delete dlcs that are alpha again (#4879)
β‘οΈ 24e7bcf Fix race condition in websocket tests for dlc node updates (#4866)bitcoind rpc
β Remove support for
v17andv18bitcoind-rpc clients.fff7b19 Handle failed getting version of bitcoind (#4869)
π 746635a Remove v18 frombitcoind-rpc(#4845)
1d1af1d Add generate helper function for bitcoind (#4852)
π 2482eb9 removev17bitcoind rpc (#4822)
9f53b4e Add address type tocreatemultisigbitcoind rpc (#4828)bundle
β Removes the bundled app with the javafx GUI. Use the electron app now.
π· 7d809bf Remove legacy GUI, this fixes CI merges to master as we no longer use the deprecated notary tool from apple (#4870)
π Build
chain
clightning rpc
β¬οΈ 6683259 Try upgrading clightning tests to newest bitcoind (#4829)
Core
β Add data structures to make sure
Vector[TLVPoint]andVector[DLCPayoutCurvePiece]
follow an ordering.π cc8d327 Support bip32 paths with 'h' instead of an apostrophe (#4881)
4fa31b1 Add OrderedDLCPayoutCurvePieces (#4875)
9261370 Add OrderedTLVPoints as this is an invariant in the codebase in DLCPayoutCurve (#4874)
β 5111bcc Add test for another tx that broke lnd/btcd (#4868)
β 8431b69 Add test for parsing super large transaction (#4849)
994ee25 Fix empty witness from companion object to case class (#4823)Crypto
db commons
DLC node
DLC Oracle
DLC wallet
gui
fee rate
keymanager
Lnd rpc
β¬οΈ Bump lnd to 0.15.4 to fix transaction parsing bugs.
7a64acc Bump lnd to v0.15.4 (#4882)
β‘οΈ 2a30232 Update lnd to v0.15.3-beta (#4850)
a4e38c3 Add helper functions for lnd chain notifications (#4846)Lnurl
node
0οΈβ£ Now discover peers on the p2p network by default.
π The hope is to move our applications away from connecting to
π suredbits peers by default in future releases. This release
π will help seed nodes with a list of peers.0οΈβ£ ec596ec Enable peer discovery by default (#4862)
f483e35 Adjust period of time we query for peers on the p2p network from 12 seconds -> 1 hour (#4847)Oracle Explorer Client
wallet
β testkit-core
β testkit
π¨ Refactors to remove
v17andv18bitcoind-rpc.π¨ 1a220a3 2022 10 14 v19 testkit refactor (#4843)
2a61755 Fix type signature (#4830)tor
β‘οΈ Update the tor binary to
0.4.7.10and improve logging.π 4c0e6d5 Drop support for Tor v2 (#4864)
63b05e3 Rework tor exceptions to be more useful (#4854)
π² 89a4c9e Improve tor logging (#4853)
f4fff05 Tor 0 4 7 10 (#4848)Website
47d2d5a Bump README versions to 1.9.6 (#4863)
Dependencies
β‘οΈ 4da3e29 Update sqlite-jdbc to 3.39.4.0 (#4880)
β‘οΈ f381941 Update junixsocket-core to 2.6.1 (#4876)
β‘οΈ 322979c Update scalapb-runtime to 0.11.12 (#4877)
π 17fc49c Remove javafx deps (#4873)
β¬οΈ 07533ad Upgrade scalajs deps now that we have scalajs 1.11.0 (#4871)
β¬οΈ e9b4c77 Upgrade scalajs to 1.10.1 (#4464)
β¬οΈ f8ccead Upgrade sbt to 1.7.3 (#4867)
π 786f77b Upgrade sbt ci release to 1.5.11 (#4865)
β‘οΈ 0c3513b Update gson to 2.10 (#4860)
β‘οΈ 1bd9246 Update junixsocket-core to 2.6.0 (#4861)
β‘οΈ 49a7db3 Update junixsocket-core to 2.5.2 (#4833)
β‘οΈ 9c05779 Update bcprov-jdk18on to 1.72 (#4835)
β‘οΈ cc79f9b Update sbt-assembly to 2.0.0 (#4855)
β‘οΈ deaa3c0 Update client3:core to 3.8.3 (#4857)
β‘οΈ db74f69 Update sbt-bloop to 1.5.4 (#4831)
β‘οΈ 963646c Update slf4j-api to 2.0.3 (#4842)
β‘οΈ a8d81a7 Update logback-classic to 1.4.4 (#4832)
β‘οΈ fc348da Update scalatest to 3.2.14 (#4840)
β‘οΈ a2a3eb1 Update sbt-mdoc to 2.3.6 (#4839) -
v1.9.6 Changes
October 09, 20221.9.6
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release adds network notifications via the websocket when various tor interactions fail when negotiating a DLC.
π This release delete all DLCs that are settled using the
Alphaversion of the DLC protocol.
β¬οΈ This makes upgrading to the new v0 format of the dlc protocol easier for an implementation point of view.
π» This will not delete alpha DLCs that are still in progress, rather throw an exception on wallet startup.π This release also fixes a bug in the wallet where utxos would be stuck in an unconfirmed state.
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.6.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.6.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Sun 09 Oct 2022 01:39:03 PM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.6.zip: OK bitcoin-s-cli-mac-1.9.6.zip: OK bitcoin-s-cli-windows-1.9.6.zip: OK bitcoin-s-oracle-server-linux-1.9.6.zip: OK bitcoin-s-oracle-server-mac-1.9.6.zip: OK bitcoin-s-oracle-server-windows-1.9.6.zip: OK bitcoin-s-server-linux-1.9.6.zip: OK bitcoin-s-server-mac-1.9.6.zip: OK bitcoin-s-server-windows-1.9.6.zip: OK krystal-bull_1.9.5_amd64.deb: OK Krystal.Bull-darwin-x64-1.9.5.zip: OK suredbits-wallet_1.9.5_amd64.deb: OK Suredbits.Wallet-darwin-x64-1.9.5.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Modules
app commons
App server
bitcoind rpc
bundle
π Build
chain
Core
Crypto
db commons
DLC node
de43dad Network notifications (#4774)
DLC Oracle
DLC wallet
β¬οΈ 62081a4 2022 10 05 Delete legacy
DLCSerializationVersion.AlphaDLCs for a cleaner upgrade to v0 spec (#4817)gui
fee rate
keymanager
Lnd rpc
Lnurl
node
β 7180536 2022 10 07 node test fixes (#4819)
Oracle Explorer Client
wallet
π Fix bug where transactions would be stuck in a unconfirmed state
ddc672c Fix unconfirmed -> confirmed state change (#4816)
β testkit-core
β testkit
tor
Website
Dependencies
-
v1.9.5 Changes
October 03, 20221.9.5
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This release includes a well defined ordering for nonces. This also fixes some bugs in the postgres backend for the dlc wallet.
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.5.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.5.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Tue 04 Oct 2022 08:55:52 AM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.5.zip: OK bitcoin-s-cli-mac-1.9.5.zip: OK bitcoin-s-cli-windows-1.9.5.zip: OK bitcoin-s-oracle-server-linux-1.9.5.zip: OK bitcoin-s-oracle-server-mac-1.9.5.zip: OK bitcoin-s-oracle-server-windows-1.9.5.zip: OK bitcoin-s-server-linux-1.9.5.zip: OK bitcoin-s-server-mac-1.9.5.zip: OK bitcoin-s-server-windows-1.9.5.zip: OK krystal-bull_1.9.5_amd64.deb: OK Krystal.Bull-darwin-x64-1.9.5.zip: OK suredbits-wallet_1.9.5_amd64.deb: OK Suredbits.Wallet-darwin-x64-1.9.5.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Contributors
Modules
app commons
App server
bitcoind rpc
9179fe1 Add way for to handle utxo not existing with bitcoind.getTxOut (#4797)
9518826 Add blockheight to bitcoind's ListTransactionsResult (#4795)bundle
π Build
65c7c61 Bump versions
87664a3 Error on invalid download of binaries (#4798)chain
bcddb01 2022 09 12 Filter header and filter websocket events (#4777)
Core
e8ebcf5 Fix bug where signatures were out of order from what was posted in the announcement (#4809)
ecf2d2b Fix bug where we were generating too many nonces (#4805)
8d91abd Add signature ordering toClaimedDLCStatus.oracleSigs(#4804)
β 9c506b6 Add OrderedSchnorrSignatures, use it in OracleAttestment (#4803)
π 4cb47c4 Remove event descriptor parameter from SigningVersion.calcOutcomeHash() (#4796)
75b034d Add socket address to NodeUri (#4794)
β fecb990 2022 09 20 rm dlc test (#4792)Crypto
eb5310f Use ByteVector.compare rather than rolling our own (#4814)
db commons
cf9f48c Set db auth in slick db config (#4781)
DLC node
DLC Oracle
34e023e 2022 09 29 handle unordered sigs (#4807)
DLC wallet
β a1fad6b Fix bug where postgres tests weren't running on
dlcWalletTest/test(#4801)gui
fee rate
keymanager
Lnd rpc
π 6b479e8 Add support for mac m1 lnd rpc (#4780)
Lnurl
node
Oracle Explorer Client
wallet
β cad1318 Use postrgres when flagged in TrezorAddressTest (#4768)
β testkit-core
β testkit
β 2c85f92 Fix bug in
DualWalletTestCachedBitcoindwhere we didn't passpgUrl(#4806)
c0443a9 Have EmbeddedPg check PG_ENABLED value (#4791)tor
Website
712bb50 1.9.5 of the website (#4812)
Dependencies
β‘οΈ 2a0cb57 Update logkit to 20020529 (#4786)
β‘οΈ 193922c Update avalon-framework to 20020627 (#4731)
β‘οΈ b6d9792 Update scalafx to 18.0.2-R29 (#4749)
β‘οΈ b1017f8 Update jna to 5.12.1 (#4742)
β‘οΈ 6f9cf52 Update bcprov-jdk15on to 1.71.1 (#4743)
β‘οΈ f48daad Update javafx-base, javafx-controls, ... to 20-ea+2 (#4745)
β‘οΈ 419ccbc Update scala-collection-compat to 2.8.1 (#4747)
β‘οΈ e10ab42 Update scalacheck to 1.16.0 (#4748)
β‘οΈ 4e1c176 Update slick, slick-hikaricp to 3.4.1 (#4783)
β‘οΈ 469a379 Update slf4j-api to 2.0.1 (#4784)
β‘οΈ 188faf1 Update client3:core to 3.8.0 (#4776)
β‘οΈ 7d70885 Update waffle-jna to 3.2.0 (#4735)
β‘οΈ 48aed46 Update sbt-scalajs-bundler to 0.21.0 (#4733)
β‘οΈ 9287f00 Update sbt-bloop to 1.5.3 (#4732)
β‘οΈ 55ad5f0 Update gson to 2.9.1 (#4736)
β‘οΈ cf6015f Update zxing:core, zxing:javase to 3.5.0 (#4737)
β‘οΈ 6a74c01 Update metrics-core, metrics-healthchecks, ... to 4.2.12 (#4738)
β‘οΈ 398e4db Update logkit to 1.2.2 (#4741)
β‘οΈ abe2c3d Update logback-classic to 1.4.1 (#4782)
β‘οΈ f984012 Update sbt-mdoc to 2.3.3 (#4750) -
v1.9.4 Changes
September 14, 20221.9.4
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
π This is a bug fix release. In our 1.9.3 release we did not successfully publish all jars for the libraries.
π For more information see: #4725π This release drops support for Scala 2.12.x, which fixes this bug. It also updates some dependencies.
π This release also adds the abillity to test connections with peers before sending offers and accepts. See #4720
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.4.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.4.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg --verify SHA256SUMS.asc gpg: Signature made Wed 14 Sep 2022 10:21:24 AM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.4.zip: OK bitcoin-s-cli-windows-1.9.4.zip: OK bitcoin-s-cli-x86_64-apple-darwin: OK bitcoin-s-cli-x86_64-pc-linux: OK bitcoin-s-oracle-server-linux-1.9.4.zip: OK bitcoin-s-oracle-server-mac-1.9.4.zip: OK bitcoin-s-oracle-server-windows-1.9.4.zip: OK bitcoin-s-server-linux-1.9.4.zip: OK bitcoin-s-server-mac-1.9.4.zip: OK bitcoin-s-server-windows-1.9.4.zip: OK krystal-bull_1.9.4_amd64.deb: OK Krystal.Bull-darwin-x64-1.9.4.zip: OK suredbits-wallet_1.9.4_amd64.deb: OK Suredbits.Wallet-darwin-x64-1.9.4.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Contributors
Modules
app commons
2cfd6f3 Allow for custom config file name (#4709)
App server
7b78478 Attempt to reduce redundant work on startup to speed up start up time (#4764)
7460dcd Parallelize running of individual migrations (#4761)
6b432ea Emit 2000th header received during IBD (#4719)
β‘οΈ a36e55c Fix patterns I missed when updating logback (#4713)bitcoind rpc
0c05edd mask bitcoind password (#4763)
61d4882 Implement retry of fetching bitcoind version when callingclientF(#4760)bundle
π Build
7d9d0c5 Run scalafmt (#4757)
7fe9bdb re-add Compile / fork in server.sbt so we can run appServer from sbt console (#4730)
π³ 06844bc Make docker publish use java 18 to avoid slick 3.4.0 issues (#4718)
π d2fb3fc Revert "Make electron build use bitcoin-s-ts latest tag (#4701)" (#4711)
π 38725f0 Make electron build use bitcoin-s-ts latest tag (#4701)
3ad43a8 ignore jakarta dependnecy in logback (#4707)
π 328e165 Drop support for scalac2.12.x(#4704)
669eb03 2022 09 02 issue 4699 (#4700)chain
Core
2f18f62 Give BitcoinNetworks.knownNetworks proper type (#4766)
Crypto
db commons
DLC node
16893f9 DLC connection checks and notifications (#4720)
DLC wallet
π» 26595ab Fix bug where no exception was thrown if the acceptor did not have enough money (#4728)
gui
fee rate
keymanager
Lnd rpc
0οΈβ£ 20ed1dc Fix lnd default datadir (#4767)
π³ 8bbfbc8 Add handling so test lnd clients can be reached by docker (#4729)
π 1758197 Remove bitcoind as a dep for lnd (#4703)Lnurl
node
fae1a53 Bump
bitcoin-s.node.query-wait-time=120 seconds(#4759)Oracle Explorer Client
wallet
π 81cddc1 Remove checkRootAccount/downloadMissingUtxos (#4762)
π· 2bf1c9d Try to debug what is happening on CI with zmq test (#4708)
βͺ 2448fe1 Revert the unique outpoint index DB migration (#4652)β testkit-core
β testkit
β 018a6e5 Add [regtest] section to fixture config (#4717)
tor
β± 1571b85 Bump tor timeout to 120 seconds (#4723)
Website
Dependencies
β‘οΈ 2d83210 Update flyway-core to 9.2.3 (#4744)
β‘οΈ 12326c7 Update sqlite-jdbc to 3.39.3.0 (#4755)
β‘οΈ 6bfb669 Update akka deps (#4724)
fd7bef3 Try out slick 3.4.0-RC3 (#4620)
β¬οΈ 3ee4fe1 Upgrade dependencies (#4705) -
v1.9.3 Changes
September 02, 20221.9.3
π This release is backwards compatible with the 1.9.x series of bitcoin-s
β‘οΈ See the individual module sections for more information on lower level updates to the codebase.
π Want to get started quickly? See our
docker-compose.ymlfile. See instructions hereIf you are a typescript developer, you can access the backend via our typescript library
Executive Summary
- Many websocket events added
loadwalletRPC to switch wallets without restarting the application- taproot script/signature verification
- multi peer neutrino
- musig2 Scala implementation
β Running bitcoin-s
If you want to run the standalone server binary, after verifying gpg signatures, you
canunzip bitcoin-s-server-1.9.3.zipand then run it withchmod +x ./bin/bitcoin-s-server && ./bin/bitcoin-s-serverto start the node. You will need to
π§ configure the node properly first, you can find example
π§ configurations here.You can then unzip the
bitcoin-s-cli-1.9.3.zipfolder and start using thebitcoin-s-clilike this:./bin/bitcoin-s-cli --help Usage: bitcoin-s-cli [options] [<cmd>] -n, --network <value> Select the active network. --debug Print debugging information --rpcport <value> The port to send our rpc request to on the server -h, --help Display this help message and exitπ For more information on what commands
bitcoin-s-clisupports check the documentation, here is where to
π start: https://bitcoin-s.org/docs/next/applications/server#server-endpointsπ Verifying signatures
π This release is signed with Chris's signing key with
π¨ fingerprint9234F4D6AF47C71B741A390F8976CA0AF71A7A2ATo do the verification, first hash the executable using
sha256sum. You should check that the result is listed in
theSHA256SUMS.ascfile next to its file name. After doing that you can usegpg --verifyto authenticate the
signature.Example:
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped gpg: Signature made Sun 04 Sep 2022 08:37:01 AM CDT gpg: using RSA key 9234F4D6AF47C71B741A390F8976CA0AF71A7A2A gpg: Good signature from "Chris Stewart <stewart.chris1234@gmail.com>" [ultimate] $ sha256sum -c SHA256SUMS.stripped bitcoin-s-cli-linux-1.9.3.zip: OK bitcoin-s-cli-macosx-1.9.3.zip: OK bitcoin-s-cli-windowsserver2022-1.9.3.zip: OK bitcoin-s-cli-x86_64-apple-darwin: OK bitcoin-s-cli-x86_64-pc-linux: OK bitcoin-s-oracle-server-linux-1.9.3.zip: OK bitcoin-s-oracle-server-macosx-1.9.3.zip: OK bitcoin-s-oracle-server-windowsserver2022-1.9.3.zip: OK bitcoin-s-server-linux-1.9.3.zip: OK bitcoin-s-server-macosx-1.9.3.zip: OK bitcoin-s-server-windowsserver2022-1.9.3.zip: OK krystal-bull_1.9.3_amd64.deb: OK Krystal.Bull-darwin-x64-1.9.3.zip: OK suredbits-wallet_1.9.3_amd64.deb: OK Suredbits.Wallet-darwin-x64-1.9.3.zip: OKWebsite
π Releases
https://repo1.maven.org/maven2/org/bitcoin-s/
π Snapshot releases
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
Contributors
125 Chris Stewart 45 benthecarman 18 rorp 14 Shreyansh 4 GreyMcCarthy 1 Nadav Kohen 1 fiatjaf 1 user411Modules
app commons
Consolidate duplicate data structures in
cliandappServerinto a common location.66d298b Add SatoshisPerVirtualByte json serializers (#4672)
825937e Add more JSON serializers (#4628)
b7c7cb8 Moving duplicate dataStructures incliandapp-serverintoapp-commons(#4541)App server
π This release adds the ability to call
loadwallet [wallet-name] [aes-password-opt] [bip39-password-opt].
This RPC allows you to load a new wallet in bitcoin-s without shutting down and restarting the server.π This release also adds the rpc
exportseed [wallet-name] [aes-password-opt]to export the mnemonic seed for a wallet.π Websocket events added this release are
- fee rate change
- rescan complete
- π sync complete
- tor started
β dbcde5d Fix flaky test (#4695)
f65b483 Allow LnMessage(tlv) & raw tlv to be used inDLCRoutes(#4682)
b18da7a Fix bug where it prevented us from rescanning an empty wallet (#4632)
π² 153d201 Improve logging to try and solve 4618 (#4622)
85c01f7 More lazy initialization for BitcoinSServerMain (#4621)
1b19872 Implementexportstakingaddresswif(#4617)
b6710e7 .map() on loadwallet result before starting http server so wallet is fully loaded (#4614)
a0851fe Run migrations upfront (#4607)
π d0dadfa 2022 08 11 issue 4600 and only emitsyncingws event when we are actually syncing (#4604)
π¨ b0831f2 Refactor waiting for bitcoind lost blocks into helper method, add context (#4602)
π² 95139bd Improve logging on getBlockchainInfo() (#4590)
9f89ba9loadwalletendpoint (#4417)
π¨ a02e25b RefactorWalletRoutesto takeDLCWalletLoaderApias a paramete (#4565)
β 8cb45e8 Add unit tests for loader rescans (#4570)
1d3db87 Add rescanState variable to DLCWalletLoaderApi (#4569)
ec0103d 2022 08 02 loadwallet startup logic (#4568)
π 191df09 Move pollBitcoind out of startBitcoindBlockPolling (#4559)
936a65e 2022 07 21 Modify helper methods inBitcoindRpcBackendUtilto not materialize streams eagerly. (#4526)
β a2e7c42 Bump sleeps on CallbackUtilTest (#4534)
π· d508d65 Implement ability to cancel bitcoind polling jobs (#4538)
4ef27dd Fix bug where dlcNode was not apart of tor dependent configs (#4537)
67dd16d Add missing calls to BitcoinSAppConfig.stop() (#4535)
d4210fa Pull over changes from loadwallet branch (#4527)
5d309fb Fee rate WS notification (#4518)
π¨ e3a7c09 Refactor to hide the Message paramter that gets fed to the websocket queue, move it to a internal implementation detail (#4514)
β f6df30c Make appServerTest run in parallel to speed up test suite (#4515)
π cdef8c0 Set syncing flag to true on startup (#4506)
d1375a5 2022 07 12 server startup cleanup (#4501)
π e90e372 AddsyncJSON field to thegetinfoendpoint output (#4452)
84ce76e Fix race condition related to sqlite3 database not being created before we access it (#4479)
π 20bf1e6 Remove map on tor to allow access to getdlchostaddress endpoint before tor is fully stated (#4435)
π a7aad46 Seed backup API (#4357)bitcoind rpc
π This release adds official support for v22 and v23 of bitcoin core.
π It also includes some basic support for fetching blocks via akka streams
and taproot.π ea12313 Remove support for bitcoind v16 rpc client (#4634)
d95d3db Downloadarm64-apple-darwinbitcoind binary on M1 Mac OS X (#4588)
π 7b75413 Drop support for the experimental bitcoind version (#4586)
β ed4e332 Dafalut to the latest Bitcoin Core version (#4579)
π¨ ad21a11 Create BitcoindStreamUtil and refactor to use it (#4578)
β‘οΈ 3ae169a V22 RPC Support Update Continued (#4424)
π 99b75d1 Fixes support for bitcoind taproot descriptor wallets (#4415)
4dc1bc7 add bitcoind v23 rpc (#4368)bundle
π 945b391 Remove javafx release (#4684)
π Build
π Implements electron app builds to combine bitcoin-s backend and bitcoin-s-ts
frontend into a single electron app.β Adds a flag
DISABLE_JLINKto disable jlink when running the artifact built byuniversal:packageBin.π This release fixes a package name bug introduced in 1.9.2 (#4401).
π Fixes various bugs in bash scripts used by
bitcoin-s-{server, oracle-server}.π³ 3578b56 Switch base docker image to eclipse-temurin:17 (#4697)
7322186 Fix Tor hidden service config (#4689)
π³ 49b2730 revert docker-compose user again as its impossible to create mounted direcotry as non root user (#4691)
d6c7247 Simple docker-compose.yml, add BITCOIN_S_UID, add DISABLE_JLINK (#4680)
βͺ c266ba8 Set entrypoint scripts so they are executable by anyone, revert daemonUserId to test on umbrel (#4678)
π» 969333c Add correct volume mapping for UI (#4670)
0οΈβ£ 15032e2 Add default exposed volume of /bitcoin-s so we can always write data to a place (#4669)
π³ 85a0a0b Add docker command mkdir /wallet (#4666)
π³ ac24bfb Revert #4601 / #4624 so that docker works on umbrel again (#4665)
βͺ 288918d Partially revert #4601 and re-adddaemonUser := bitcoin-s(#4655)
2001e86 IfDISABLE_JLINKset, don't try to chmodjre/bin/java(#4651)
π§ 0b39c38 Configure scalafmt to preserve line endings (#4638)
π 28311e1 Only build native bitcoin-s-cli on tags or merges to master (#4636)
π· 713ee75 Get rid of standalone scalajs, mdoc CI matrix. Consolidate with other CI jobs (#4633)
2dad9f5 Fix bug where we weren't specify the bash script for each project to modify file permissions (#4625)
ac7939a Adjust bash script permissions so they can be run by any user (#4624)
β‘οΈ 6b8f45e Update docker-compose.yml (#4599)
π³ e413f04 Remove the daemonUser/daemonUserId combination to make our docker images more portable (#4601)
β¬οΈ a2117e2 Downgrade CI jdk 18 -> 17 (#4546)
π 6f42f83 Move OSX check inside of jre path check, fix bug where quarantine wasn't working in case where we are in the same directory as script (#4508)
5b44c07 Fixchmod: jre/bin/java: No such file or directoryerrors (#4493)
β de93503 Make coreTestJVM.dependOn(testkit), add new multi core dispatcher to allow more cores for TaprootTTests to hopefully take load off the scala execution context (#4477)
9985db3 Bump to jdk18 (#4471)
3ea4763 Change 2.13.7 -> 2.13.8 in a few spots where I missed it (#4470)
π· 2968a9e Try to test out setup-java CI action (#4466)
π§ 76694a5 Add server build matrix, mac,linux electron builds (#4434)
aed92c3 Implement DISABLE_JLINK env variable to disable jlink jre's u...