Releases: breez/breez-sdk-greenlight
Releases · breez/breez-sdk-greenlight
SDK Core 0.2.14
Features & Bug fixes
- Persist payment failure error
- Support custom payment metadata
- Add register webhook to the cli
- Add extra TLVs to send spontaneous payment
- Add payment expiry for pending payments
Breaking changes
- Rename
sweep
toredeem_onchain_funds
What's Changed
- change: lud-16 assersions to ignore cases by @rustaceanrob in #681
- Persist payment failure error by @dangeross in #673
- Add extra TLVs to send spontaneous payment by @dangeross in #679
- set group_id in send_pay by @JssDWt in #685
- enhancement: sort fiat currencies in API by name, add docs by @rustaceanrob in #686
- Fix sdk-flutter Kotlin bindings source by @erdemyerebasmaz in #688
- rename sweep to redeem_onchain_funds by @ubbabeck in #684
- Bump zerocopy from 0.7.29 to 0.7.31 in /libs by @dependabot in #690
- Update flutter rust bridge to latest by @erdemyerebasmaz in #693
- Bumping lightning and lightning-invoice versions by @hydra-yse in #692
- Make code more idiomatic and simple by @andrei-21 in #687
- Python package fix for v0.2.12 by @dangeross in #697
- v0.2.12 by @dangeross in #698
- Bump gl-client by @ok300 in #694
- Downcase domain in lightning address and return normalized address by @andrei-21 in #695
- Payment expiry for pending payments by @ubbabeck in #674
- only iterate over pending payments for update_payment_expirations by @ubbabeck in #707
- Improve sync payments by @dangeross in #709
- Use a non-zero timeout in our HTTP clients by @ok300 in #718
- Allow custom payment metadata inside SDK storage by @hydra-yse in #706
- Rerun codegen by @dangeross in #721
- Add register webhook to the cli by @roeierez in #720
- Document ReceivePaymentResponse fields by @ok300 in #719
- document fields of SwapInfo by @ubbabeck in #712
- RN iOS emitter fix by @dangeross in #722
- Add payment and backup exceptions by @ademar111190 in #723
- Fix parsing LUD-17 by replacing
lnurl*
prefix once by @andrei-21 in #731 - Add payment metadata functionality to sdk-cli by @hydra-yse in #732
- Use Android bindings via Gradle in Flutter package by @cnixbtc in #717
- Bump h2 from 0.3.22 to 0.3.24 in /libs by @dependabot in #733
- make short_channel_id optional by @JssDWt in #736
New Contributors
- @hydra-yse made their first contribution in #692
Full Changelog: 0.2.12...0.2.14
SDK Core 0.2.12
Features & Bug fixes
- Bug fix: SDK hangs on connect when signer is needed.
- Bug fix: Reverse swap fails right on start.
- Allow native access to SDK from flutter (kotlin & swift)
- Improve receive payment performance
What's Changed
- Save open channel fee only when needed by @roeierez in #660
- Bump openssl from 0.10.57 to 0.10.60 in /libs by @dependabot in #662
- Update breez-sdk-kmp Kotlin version to 1.9.21 by @angelix in #665
- Add BreezSDK.swift as an on demand resource on Flutter plugin by @erdemyerebasmaz in #664
- Emit the InvoicePaid event before the sync by @dangeross in #661
- Bump RN versions to 0.2.10 by @dangeross in #663
- Update
flutter_rust_bridge
tov1.82.4
(latest) by @erdemyerebasmaz in #669 - Add Kotlin bindings to Flutter plugin by @erdemyerebasmaz in #670
- Add Kotlin bindings to flutter CI by @JssDWt in #672
- Ensure outgoing payment exists in greenlight. by @roeierez in #671
- Don't override pending payments. by @roeierez in #678
- fix: typo in README.md by @rustaceanrob in #675
- Revert "Schedule signer if
GL::connect()
has seed and creds" by @ok300 in #683
Full Changelog: 0.2.10...0.2.12
SDK Core 0.2.10
Features & Bug fixes
- Amount is now populated in failed payments.
- InvoicePaid event now contains payment information
- Greenlight node credentials are now exposed
- Add API to report payment failures (https://sdk-doc.breez.technology/guide/service_status.html#reporting-a-payment-failure)
- Add API to get service health status (https://sdk-doc.breez.technology/guide/service_status.html#health-check-status)
- Bug fixes
What's Changed
- Persist failed payment amount by @dangeross in #589
- CI: archive go package by @JssDWt in #588
- Publish Python package to PyPi by @cnixbtc in #569
- ci: fix workflow_call inputs by @JssDWt in #600
- CI: match dispatch inputs in workflow_call by @JssDWt in #602
- Add
register_notifications()
service call by @ok300 in #597 - CI: make python buildable from remote repo by @JssDWt in #604
- Include payment information in
InvoicePaid
-event by @dleutenegger in #593 - ci: archive react native package by @JssDWt in #605
- Fix RN workingDir and disconnect handling by @dangeross in #571
- Expose the Greenlight node credentials by @dangeross in #601
- Build python wheels for 3.11 and 3.12 by @cnixbtc in #608
- use req for sweepRequest by @ubbabeck in #603
- Fix publish Python matrix for Linux wheels by @cnixbtc in #613
- Fix faulty repo checkout in Python workflow by @cnixbtc in #616
- Fix Golang bindings build by @dangeross in #611
- Set the uniffi-bindgen-go tag in the CI by @dangeross in #617
- Validate bolt11 network by @dangeross in #586
- Trigger GL stop on SDK disconnect by @ok300 in #612
- Bump RN versions to 0.2.9 by @dangeross in #607
- Fix potential max_allowed_to_receive_msats underflow by @dangeross in #619
- Fix clippy errors by @danielgranhao in #622
- Only include the LSP hop hint if a channel open is needed by @dangeross in #624
- Persist payment attempts before starting by @danielgranhao in #621
- use sanitized bolt11 invoice for send_payment by @JssDWt in #631
- Persist pending payment amount by @dleutenegger in #623
- Bump Greenlight dependency by @ok300 in #625
- Report payment failures by @dangeross in #627
- Add lsp_info to the CLI by @dangeross in #633
- Log full list of payments on trace instead of debug by @ok300 in #640
- set optional request fields to null in udl by @JssDWt in #642
- Validate selected LSP by @dangeross in #638
- one command for code generation by @JssDWt in #644
- Remove command "stop" from
disconnect
and NodeAPI trait by @ok300 in #646 - Bump rustix from 0.37.20 to 0.37.27 in /libs by @dependabot in #651
- Bump @babel/traverse from 7.17.12 to 7.23.4 in /libs/sdk-react-native/example by @dependabot in #650
- Bump activesupport from 6.1.5.1 to 6.1.7.6 in /libs/sdk-react-native/example by @dependabot in #649
- Bump @babel/traverse from 7.18.2 to 7.23.4 in /libs/sdk-react-native by @dependabot in #648
- Bump browserify-sign from 4.2.1 to 4.2.2 in /libs/sdk-react-native/example by @dependabot in #647
- Return success on failure to decrypt AES success action by @andrei-21 in #637
- Bump word-wrap from 1.2.3 to 1.2.5 in /libs/sdk-react-native by @dependabot in #653
- Bump semver from 5.7.1 to 5.7.2 in /libs/sdk-react-native by @dependabot in #654
- Bump word-wrap from 1.2.3 to 1.2.5 in /libs/sdk-react-native/example by @dependabot in #655
- Bump semver from 5.7.1 to 5.7.2 in /libs/sdk-react-native/example by @dependabot in #656
- Validate RN optional field values by @dangeross in #652
- Bump tough-cookie from 4.0.0 to 4.1.3 in /libs/sdk-react-native by @dependabot in #658
- Bump tough-cookie from 4.0.0 to 4.1.3 in /libs/sdk-react-native/example by @dependabot in #659
New Contributors
- @dependabot made their first contribution in #651
- @andrei-21 made their first contribution in #637
Full Changelog: 0.2.9...0.2.10
SDK Core 0.2.9
Features & Bug fixes
- Publish python package: https://pypi.org/project/breez-sdk-lib
- Introduce
max_reverse_swap_amount
to allow draining all channels when sending on-chain. - Extend payment type filter to include
ClosedChannels
. - Introduce
prepare_sweep
to estimate the sweep transaction fee. - Introduce
prepare_refund
to estimate the refund transaction fee. - Improve error handling and specifying error code in exceptions and errors.
- Include
SwapInfo
inPayment
. - Add payment hash to
lnurl_pay
. - Auto-discovery for default LSP.
What's Changed
- Extend payment type filter to include
ClosedChannels
type by @dleutenegger in #521 - Bump Greenlight dependency by @ok300 in #552
- Allow multiple logs listeners by @ademar111190 in #553
- Fee calculation and presentation by @ademar111190 in #294
- Bump example app to 0.2.7 by @dangeross in #554
- Implement
prepare_refund()
by @danielgranhao in #548 - Upgrade Flutter requirement to latest stable(3.13.8) by @erdemyerebasmaz in #549
- ignore .env and .envrc by @ubbabeck in #558
- Bump Greenlight dependency by @ok300 in #560
- Add Default trait, util constructor for Request args by @ok300 in #559
- Rerun RN codegen to generate functions to convert enum sequences by @dangeross in #567
- check git status of react native and flutter by @JssDWt in #566
- CI: run flutter analysis by @JssDWt in #568
- Error codes by @dangeross in #469
- rename PaymentTypeFilter ClosedChannels enum to ClosedChannel by @ubbabeck in #573
- improve error on empty string invoice by @JssDWt in #576
- Add model docs: time fields are epoch time in seconds by @ok300 in #578
- Fix breez-sdk-flutter files on name changes by @JssDWt in #577
- fix flutter bridge by @JssDWt in #581
- throw on error in C# tests by @JssDWt in #580
- Make CI callable from remote repo by @JssDWt in #579
- Update prepare_refund to return a SdkResult by @dangeross in #582
- Update deplay before triggering jitpack build by @cnixbtc in #415
- Bump ecies dependency by @ok300 in #587
- Migrate remaining pb:: dependencies to cln::* by @ok300 in #585
- Add payment hash to
lnurl_pay()
return type by @dleutenegger in #550 - Schedule signer if
GL::connect()
has seed and creds by @ok300 in #596 - Fallback to a listed LSP if the default is not available by @dangeross in #592
- Send onchain the largest amount possible by @roeierez in #466
- Include
SwapInfo
inPayment
resulting from swap by @danielgranhao in #555
Full Changelog: 0.2.7...0.2.9
SDK Core 0.2.7
Features & Bug fixes
- Add Getinfo command
- Support paging in list payments - Thank you @dleutenegger
- Add optional claim_txid and lock_txid to ReverseSwapInfo
- Add closing_txid to closed channels received in payments list
- Use millisatoshi instead of satoshi for lightning amounts.
- Improve sync and sending payments performance
- Fix uniffi-kotlin-multiplatform package
Breaking changes
- Parameters and return type of the following API's now use their respective
Request
/Response
objectssend_onchain
,refund
,send_payment
,send_spontaneous_payment
,lnurl_pay
,lnurl_withdraw
- Use
req
shorthand forrequest
params across all bindings. - Rename
req_data
oflnurl_pay
&lnurl_withdraw
todata
as it now belongs to their respectiveRequest
object ReceivePaymentRequest
now useamount_msat
instead ofamount_sat
SendPaymentRequest
now useamount_msat
instead ofamount_sat
SendSpontaneousPaymentRequest
now useamount_msat
instead ofamount_sat
What's Changed
- CI: build kotlin mpp on macOS by @JssDWt in #507
- fix clippy warning by @JssDWt in #508
- Ensure receiving payment amount is more than zero by @dangeross in #509
- Remove log library from sdk and move logs for the app by @ademar111190 in #505
- Add
GetInfo
node command by @ok300 in #513 - Trim
lightning:
from LNInvoice bolt11 response by @dangeross in #510 - Add paging support to list payments by @dleutenegger in #517
- Update uniffi-kotlin-multiplatform by @dangeross in #519
- Add optional claim_txid to ReverseSwapInfo by @ok300 in #515
- Bump Greenlight dependency by @ok300 in #524
- Add closing_txid to Channel, ClosedChannelPaymentDetails by @ok300 in #520
- Validate amount parameter by @roeierez in #525
- fix dart sendPayment signature by @roeierez in #532
- Document the return of
BreezServices::refund()
by @danielgranhao in #534 - Hard code the published release version number into the example package by @dangeross in #529
- msat receive_payment and lnurl_withdraw by @JssDWt in #535
- Bump dependencies to address dependabot findings by @ok300 in #533
- default cltv_expiry for invoices 144 blocks by @JssDWt in #538
- Use Request/Response format on sendOnchain & refund by @erdemyerebasmaz in #497
- Encapsulate channel merge logic in update_channels() by @ok300 in #545
- Ensure channels closed details are persisted by @roeierez in #542
- Change RN function param naming to avoid naming clashes by @dangeross in #543
- RN example metro config fix by @dangeross in #544
- Derive Clone trait for some fiat currency structs by @ok300 in #546
- Fast sync by @roeierez in #547
New Contributors
- @danielgranhao made their first contribution in #534
Full Changelog: 0.2.5...0.2.7
SDK Core 0.2.5
Features & Bug fixes
- Auto generated React Native bundle - https://github.com/breez/breez-sdk-rn-generator
- Support zero fee anchor channels
- Add api for retrieving static backup - https://sdk-doc.breez.technology/guide/static_channel_backup.html
- Persist and implement the option to include failed payments in
list_payments
query. - Add lnurl withdraw information on the related lightning payment.
- Expose txid in sweep response.
- Expose exemptfee in config
Breaking changes
The React Native generator is a huge advantage for us which allows us to deliver changes a lot more frequently.
We do have some minor changes in the way parameters are passed to the sdk methods but migration should be straight forward.
No functionality has been removed.
What's Changed
- ci: fix flutter jniLibs location by @JssDWt in #430
- ci: fix the flutter jniLibs location by @JssDWt in #431
- Fix flutter release by @JssDWt in #432
- ci: add pre-setup for easier testing by @JssDWt in #434
- Fix clippy warning regarding workspace versions by @ok300 in #420
- Expose exemptfee in the SDK Config struct by @ok300 in #440
- Anchor signer by @roeierez in #444
- Add listpeerchannels dev command by @roeierez in #450
- Baseline RN code generation by @dangeross in #445
- Generate React Native code by @dangeross in #429
- Expose exemptfee to sdk-flutter by @ubbabeck in #451
- Update CLI readme and connect params by @dangeross in #453
- Add a guide to running the RN codegen by @dangeross in #454
- Check if send_payment invoice is already paid by @dangeross in #452
- Migrate from using
pb::Channel
to the CLN equivalent by @ok300 in #455 - Expose static backup data by @roeierez in #448
- Ensure signer starts before any request to the node by @roeierez in #461
- Add optional logging of reqwest raw payloads by @ok300 in #396
- Add convenience tasks to check fmt and clippy by @dangeross in #464
- Use the channel close tx blocktime as fallback close ts by @ok300 in #449
- Bump mockito dependency by @ok300 in #442
- Persist failed payments by @dangeross in #463
- Fix disconnect() mapping in bindings.rs by @ok300 in #441
- Bump GL client to include fix for signer panic by @ok300 in #468
- Add open_channel_fee API to Dart Bindings by @erdemyerebasmaz in #472
- Use ListPaymentsRequests on sdk-flutter by @erdemyerebasmaz in #473
- CLI: fix interactive prompt by @ok300 in #474
- Fix SDK panic caused by closing channels by @ok300 in #477
- Return invoice on successful lnurl-withdraw by @ok300 in #436
- run max one pr ci at a time by @JssDWt in #483
- workaround for x86_64-android by @JssDWt in #479
- Use flutter sdk-bindings by @JssDWt in #480
- Expose txid in sweep bindings by @dleutenegger in #478
- Logging: allow modules to log on trace by @ok300 in #475
- Lsps0 implementation by @JssDWt in #470
- Simple lsps2 client by @JssDWt in #482
- update flutter readme by @JssDWt in #491
- Properly handle new column for sync table by @ok300 in #489
- fix flacky tests by @Torakushi in #486
- Fix rev swap state transitions by @ok300 in #496
- Cln API by @roeierez in #494
- Fix rev swap edge case caused by claim tx delays by @ok300 in #493
- Persist channel closed_at after lookup by @ok300 in #498
- Bump Greenlight dependency by @ok300 in #500
- Apply #463 & #478 changes to sdk-flutter by @erdemyerebasmaz in #499
- Consider only completed payments when by @roeierez in #501
- Refresh payments list after sendOnchain completes by @erdemyerebasmaz in #503
- Call
sync
after reverse swap successfully created by @ok300 in #502
New Contributors
- @dleutenegger made their first contribution in #478
- @Torakushi made their first contribution in #486
Full Changelog: 0.2.3...0.2.5
SDK Core 0.2.3
Features & Bug fixes
- Dynamic fee selection according to the LSP specification - https://github.com/BitcoinAndLightningLayerSpecs/lsp/tree/main/LSPS2
- Published npm package for Reacts Native: https://www.npmjs.com/package/@breeztech/react-native-breez-sdk
- Published flutter package: https://github.com/breez/breez-sdk-flutter
- Fix
send_onchain
to use private routing hints - Added optional parameters passed to
receive_payment
- Support Kotlin Multiplatform - thank you @angelix!
- Support sign_message/check_message
- Added a simple API to get channel opening fees for a specific amount
- Bug fixes
Breaking changes
All functionality is preserved but some of the API methods were changed slightly in favor of better maintenance.
receive_payment
now receives an argument of type ReceivePaymentRequestreceive_onchain
now receives an argument of type ReceiveOnchainRequestbut_bitcoin
now receives an argument of type ButBitcoinRequest
What's Changed
- Add
channel_opening_fees
column toswaps_info
table by @ok300 in #274 - Receive onchain: validate and select fee params by @ok300 in #282
- Simplify fee params menu handling when it's empty by @ok300 in #293
list_lsps
: Skip LSPs that fail validation by @ok300 in #292- Add missing gRPC fields for
PaymentInformation
by @ok300 in #315 - Setup publishing of Android bindings to GitHub packages by @cnixbtc in #346
connect_lsp
: Only connect to known LSPs fromlist_lsps
by @ok300 in #344- Bring method names of Dart bindings & Flutter in line with Rust methods by @erdemyerebasmaz in #342
- Grouped up Dart API's by concept by @erdemyerebasmaz in #350
- Channel fee calculation: Rewrite for clarity by @ok300 in #352
- Address NIT comments in #313 by @erdemyerebasmaz in #351
- Rename variable by @ok300 in #353
- Update Swift bindings readme to include CocoaPod by @cnixbtc in #257
- Use proper error code and message by @roeierez in #347
- Use framework for ios by @roeierez in #335
- Create new Bindings for Kotlin Multiplatform by @angelix in #322
- Use ffi output dir for kmm by @roeierez in #357
- publish kotlin multi platform CI by @roeierez in #358
- Include dynamic fees in
buy_bitcoin
response by @ok300 in #354 - Build linux on ubuntu-20.04 by @JssDWt in #360
- ci: fix protoc installation by @JssDWt in #361
- ci: optional different ref for C# project by @JssDWt in #362
- ci: use repo token for protoc calls by @JssDWt in #364
- ci: fix missing comma in targets by @JssDWt in #366
- ci: publish android as part of all platforms by @JssDWt in #368
- ci: add kotlin mpp to all platforms by @JssDWt in #369
- Store swap dynamic fees in separate table by @ok300 in #355
- RN: Upgrade to 0.70.6 by @dangeross in #373
- ci: speed up pull request ci by @JssDWt in #372
- Update
BreezServices::connect()
docs by @ok300 in #376 - Map GL status ONCHAIN to models::ChannelState::Closed by @ok300 in #370
- ci: build language bindings in a separate workflow by @JssDWt in #375
- Add methods to NodeAPI for signmessage and checkmessage [issue #109] by @lnd3v in #319
- ci: make rustdoc-pages structure match others by @JssDWt in #377
- Add dynamic fees feature by @ok300 in #313
- Update rustdoc with Invite Code instructions by @ok300 in #387
- Use Breez SDK bindings from Jitpack in React Native plugin by @cnixbtc in #378
- Expose bindings for lsp_info() by @ok300 in #389
- Fix Cocoapod integration in RN plugin by @cnixbtc in #391
- Add RN bindings for the
dynamic_fees
structs and methods by @ok300 in #390 - CLI app: Log to file by @ok300 in #343
- Add
SdkError::LspOpenChannelNotSupported
by @ok300 in #394 - rn: Update README for local Android dev by @dangeross in #392
- Clarify signer exit reason by @ok300 in #395
- Add utils for reverse swap fees and amounts by @ok300 in #397
- Skip re-encoding invoice when not needed by @roeierez in #402
- fix sync db swap migration by @roeierez in #401
- Add correct routing hint in reverse swaps invoice by @ok300 in #398
- Update docs for dynamic_fees structs and service methods by @ok300 in #388
- Fix rev swap issues causing reverse swaps to not complete by @ok300 in #406
- Addtional invoice fields by @roeierez in #408
- Poll for balance changes where hinted. by @roeierez in #409
- Add link to Support TG group by @ok300 in #412
- Add CI for publishing React Native plugin by @cnixbtc in #407
- ci: Add android bindings to publish-golang by @dangeross in #411
- publish flutter CI by @roeierez in #413
- Fix setting of invoice description to include hash by @dangeross in #419
- add Windows x86 target to C# nuget by @JssDWt in #422
- Open channel fee simplification by @roeierez in #416
- rn: Calculate fees by @dangeross in #418
- Exclude file logger. Revert to the old behavior by @roeierez in #426
New Contributors
Full Changelog: 0.1.4...0.2.3
SDK Core 0.1.4
Features & Bug fixes
- Adjust default fees to reasonable values.
- Introduce custom errors
- Bug fixes
What's Changed
- Run cargo fmt by @ademar111190 in #307
- add a bindings project for C# nuget by @JssDWt in #280
- c#: clone sdk repo in build directory by @JssDWt in #323
- allow a different ref for the C# project build by @JssDWt in #324
- remove outdated working directory by @JssDWt in #325
- remove ` from csproj file by @JssDWt in #326
- add a missing slash in runtimes path by @JssDWt in #327
- Simplify version management by @ok300 in #320
- Use list channels instead of listfunds to calculate balance by @roeierez in #328
- Cache cargo crates and target dependency builds etc. by @lnd3v in #330
- Run initial sync before starting background tasks by @roeierez in #331
- Reduce logs in tests by @roeierez in #334
- Initial version of detailed SdkError by @ok300 in #298
- Add swaps_Info and reverse_swaps_info on restore by @roeierez in #340
- Sync after receive by @roeierez in #341
- React native errors by @roeierez in #345
New Contributors
Full Changelog: 0.1.3...0.1.4
SDK Core 0.1.2
Performance & Optimizations
- Faster startup time (less than a second for the SDK to be ready for payment)
- Reduce TLS handshakes to greenlight by using one gRPC connection.
Simpler API
- Introducing
connect
method for Simple initialization. One initialization code for all cases (register, recover, existing)
Features
- Seamless realtime backups
- Sending on-chain (reverse swap).
Binding
- Added support for golang, csharp and python.
What's Changed
- Bump Greenlight dependency by @ok300 in #300
- Input Parser: Add extended support for Node ID (possible Node URI) by @ok300 in #301
- Fix different impl member order from the trait warning by @ademar111190 in #297
- Apply connect API changes to sdk-flutter by @erdemyerebasmaz in #305
- Reuse greenlight connection by @roeierez in #304
- Rn connect api by @roeierez in #306
- Connect API by @roeierez in #303
- Fix RN NodeConfig transmission by @dangeross in #308
- Lazy connection to greenlight to improve startup time by @roeierez in #309
Full Changelog: 0.1.1...0.1.2