Skip to content

Releases

v0.1.1 - Dependency Fix

Choose a tag to compare

@zeugmaster zeugmaster released this 22 Oct 09:36

🔧 Bug Fix Release

Fixed secp256k1 Duplicate Symbol Errors

This release resolves duplicate symbol errors that occurred when using Bolt11 alongside CashuSwift or other packages that depend on secp256k1.

Changes

  • ✅ Switched to zeugmaster/swift-secp256k1 fork - Now uses the same secp256k1 implementation as CashuSwift
  • ✅ Updated module import - Changed from libsecp256k1 to secp256k1 to match fork structure
  • ✅ Added UPDATE_GUIDE.md - Comprehensive guide for updating and troubleshooting Xcode cache issues
  • ✅ Zero breaking changes - All APIs remain the same, drop-in replacement for v0.1.0

Compatibility

This version is fully compatible with apps that use:

  • CashuSwift with zeugmaster/swift-secp256k1
  • Any other package using the same secp256k1 fork

Upgrading from v0.1.0

dependencies: [
    .package(url: "https://github.com/zeugmaster/Bolt11.git", from: "0.1.1")
]

Troubleshooting Xcode Cache Issues

If Xcode doesn't pick up the update, see UPDATE_GUIDE.md for detailed instructions.

No code changes required! 🎉

v0.1.0 - Initial Release

Choose a tag to compare

@zeugmaster zeugmaster released this 21 Oct 17:43

🎉 Initial Release

Pure Swift BOLT #11 Lightning Invoice Decoder

This is the first release of Bolt11, a complete implementation of the BOLT #11 Lightning Network invoice protocol in pure Swift.

✨ Features

  • ✅ Complete BOLT #11 compliance - Full implementation of the Lightning invoice specification
  • ✅ Bech32 decoding with checksum verification (BIP-0173)
  • ✅ All networks supported: mainnet, testnet, signet, regtest
  • ✅ Amount parsing with all multipliers: milli (m), micro (u), nano (n), pico (p)
  • ✅ All tagged fields supported (p, s, d, h, n, x, c, f, r, 9, m)
  • ✅ Cryptographic validation - ECDSA signature verification and public key recovery using secp256k1
  • ✅ Pretty-print support - Beautiful formatted output with CustomStringConvertible
  • ✅ Comprehensive testing - 18 tests covering valid and invalid invoices from the spec
  • ✅ Detailed error handling - Specific error types for all failure cases

📦 Installation

Add to your Package.swift:

dependencies: [
    .package(url: "https://github.com/zeugmaster/Bolt11.git", from: "0.1.0")
]

🚀 Quick Start

import Bolt11

let invoice = try Bolt11Decoder.decode(invoiceString)
print(invoice.prettyPrint)

📋 Requirements

  • macOS 13.0+ / iOS 16.0+
  • Swift 6.1+

📚 Documentation

See the README for complete documentation and examples.

🙏 Credits

Implementation based on BOLT #11 specification.