Skip to main content

Changelog

For more elaborate changelogs, refer to our documentation: https://docs.second.tech/changelog/changelog/ Below is a more concise summary for each version.

v0.1.0-beta.7

ark-lib

  • BREAKING: Refactor GenesisItem::Arkoor to remove embedded policy. Removes the Policy from GenesisItem::Arkoor to allow adding new policies without introducing breaking changes to the protocol encoding. #1396
  • Split VtxoPolicy into user-facing and server-internal types #1542
  • Fix encoding for VTXOs with more than 256 genesis items #1550
  • BREAKING: ProtocolEncoding for genesis length fields has changed
  • Fix bug in signed tree encoding/decoding round-trip #1551
  • BREAKING: Remove old pre-hark encoding of VtxoTreeSpec #1552
  • BoardBuilder gains functionality to track ServerVtxos and provides methods to build internal unsigned VTXOs and transactions #1513

bark

  • BREAKING: Implement unified mailbox delivery. Bark now uses a unified mailbox system for receiving VTXOs, providing more reliable delivery across different sources. Addresses now use mailbox addresses. #1412
  • Add environment variable support to Config #1558
  • Add Wallet::next_round_start_time to ask server for next round start time #1559
  • Add delegated maintenance and refresh APIs to Wallet that return immediately with a pending movement that can be tracked via sync() for completion status #1566
  • Add --delegated flag to maintain and refresh commands for non-blocking operations #1566

server

  • Add NextRoundTime endpoint to expose next scheduled round start time #1559
  • Migrate lightning invoice monitoring from polling to TrackAll stream with improved reliability and automatic stream recovery #1453
  • Notify sender promptly on intra-ark lightning payment cancellation #1543
  • Drop the board database table - board tracking is now handled through the virtual transaction tree #1513

v0.1.0-beta.6

ark-lib

  • tree::signed module is refactored to add hArk protocol. For hArk details, see Evolving the Ark Protocol Using CTV and CSFS #1440
    • All leaves now have an unlock hash attached
    • Leaf txs are no longer signed during the interactive process
  • Add BoardBuilder::new_from_vtxo to reconstruct a board from a VTXO #1472
  • Changes to arkoor builder to support dust VTXOs #1440

bark

  • Round protocol changed to hArk protocol #1440
    • Offboards and onchain payments temporarily disabled
    • New round VTXOs are now not immediately spendable after interactive round part finished
  • All BarkPersister API was made async, resulting in most of Bark’s API becoming async too #1485
  • Support sending and receiving dust VTXOs #1440
  • Re-enable send-to-onchain functionality - bark send-onchain command now returns offboard txid #1531
  • BREAKING: Replace VtxoSeed by WalletSeed to allow deriving key dedicated to mailbox. Normal derivations were replaced by hardened ones. Any wallet created before this change won’t load successfully anymore #1452

server

  • Round protocol changed to hArk protocol #1440
    • New gRPC endpoints: SubmitRoundParticipation, RoundParticipationStatus, RequestLeafVtxoCosign, RequestForfeitNonces, ForfeitVtxos
    • gRPC SubmitPayment now returns an unlock_hash
  • Introduce SyncManager and BlockIndex utilities for block-based sync #1471
  • Rename hodl references to hold across configuration and code #1478
  • Support dust VTXOs in arkoor and lightning #1440

captaind

  • Validate board server pubkey during registration to prevent potential double-spend attacks #1472
  • Add FeeEstimator module for dynamic fee rate estimation #1496

v0.1.0-beta.5

All

  • Change variants of the word “cancel” to US spelling. This affects REST endpoints, function names and RPC types/names. #1415

ark-lib

  • Add Vtxo::is_fully_signed to check whether a VTXO is fully signed #1293
  • Added get_final_amount to lightning::Invoice #1331
  • The notion of arkoor-depth has been removed #1342
  • Make compatible with WASM for the web and ensure compatibility in CI #1363
  • Created a new challenges module to centralize VTXO ownership challenge types #1368

bark

  • Bark will not consider arkoor-depth anymore #1342
  • Bark’s pay_lightning_invoice is made non-blocking #1401
  • Remove support for recovering round VTXOs from past rounds #1417
  • Renamed Wallet::movements to Wallet::history #1455

bark-json

  • Movements are ordered by creation date followed by ID from newest to oldest #1354
  • Movement::metadata is now JSON instead of a string
  • Implement a strongly typed PaymentMethod #1362
  • Rename MovementStatus::Finished to MovementStatus::Successful #1362

server

  • Deprecating PostArkoorPackageMailbox and EmptyArkoorMailbox gRPC methods #1292
  • Creation of new gRPC methods PostVtxosMailbox, SubscribeMailbox and ReadMailbox with checkpoint system #1292
  • initiate_lightning_payment doesn’t wait for payment settlement anymore #1401
  • Added invoice_expiry and receive_htlc_forward_timeout config options #1419

v0.1.0-beta.4

barkwallet

  • Fixed a bug in which HTLC vtxo’s weren’t properly marked as spent #1345

v0.1.0-beta.3

ark-lib

  • Added offboard_feerate field to ArkInfo. The offboard feerate is now fixed and no longer specified JIT for each round. #1070
  • Removed the RoundEvent::Start variant #1070
  • A new field ln_receive_anti_dos_required has been added to the ArkInfo struct #1183

bark-wallet

  • A full rewrite occurred on how state is managed internally #1070
    • Increased stability
    • Can sign up to a round and make round progress asynchronously
    • Input VTXOs are locked at signup to the round
    • Output VTXOs are made available as soon as we have signed funding tx
  • Rename some lightning methods to be more consistent #1279
  • Big refactor of the movements API and related types #1275
  • Add experimental Daemon to run background tasks #1297

bark-cli

  • Refresh, offboard and all other commands that participate in a round are now returning RoundStatus #1070
  • The bark ln claim command now accepts an optional --token argument #1183
  • Not all bark config variables are required anymore, default values will be filled for missing values #1254
  • Add experimental barkd daemon with REST HTTP server and background process

bark-server

  • SubscribeRoundEvents gRPC no longer opens with the last happened event #1070
  • A new configuration variable, ln_receive_anti_dos_required, was added #1183

v0.1.0-beta.1

First “beta” version, with an aim to somewhat stabilize the bark-wallet API. For changes since the latest alpha version, see the detailed changelog in the docs.

Build docs developers (and LLMs) love