Releases: lnbits/lnbits
Releases ยท lnbits/lnbits
v1.3.0 - Vlad Stan
Named after the wonderful Vlad Stan (@motorina0), who has been committing to LNbits for +5 years ๐
Notable Changes
- Huge LNURL library update by @dni supporting all LUDs, and major refactor.
- Extension builder by @motorina0, which outputs a custom extension.
- Switching from Poetry to UV by @arcbtc @dni, for x10 dependency installation improvement.
- Nix flake restored and working via UV support.
- Boltz-powered standalone docker image, for instant non-custodial LNbits.
New Contributors ๐งก
- @echennells made their first contribution in #3333
- @hkarani made their first contribution in #3350
- @BenGWeeks made their first contribution in #3374
What's Changed
- fix: frontend bgimagechoice can be null by @dni in #3270
- chore: update vue-i18n dependabot by @dni in #3276
- fix: catch init fiat providers by @dni in #3281
- chore: replace passlib with bcrypt by @dni in #3279
- chore: update to version v1.3.0-rc1 by @dni in #3273
- chore: use modern websockets instead of legacy by @dni in #3278
- chore: update fastapi an starlette by @dni in #3277
- feat: update lnurl lib refactor lnurl endpoints by @dni in #3271
- [feat] User notifications backend by @motorina0 in #3280
- fix: frontend withdraw error message by @dni in #3282
- feat: add
get_pr_from_lnurl
to lnurl services by @dni in #3286 - chore: update version to v1.3.0-rc2 by @dni in #3287
- build(deps): bump form-data from 4.0.0 to 4.0.4 by @dependabot[bot] in #3288
- [Fix] Don't allow pay for expired invoice by @talvasconcelos in #3290
- feat: add lud17 support for wallet parse dialog by @dni in #3289
- fix: prevent overflow on dialog by @talvasconcelos in #3295
- fix: lnurl_decode changed to url_decode by @arcbtc in #3303
- fix: lnaddresses on new lnurlscan POST endpoint by @dni in #3305
- Fix: fake wallet by @arcbtc in #3309
- fix: mispelling in logs #3306 by @dni in #3310
- bug: propergate LnurlErrorResponse in lnurl service and dont checks for redundant
LnurlPayActionResponse
by @dni in #3314 - fix: bump lnurl its not callback_url now, its just url by @dni in #3312
- chore: update to v1.3.0-rc3 by @dni in #3313
- feat: frontend component for LNURLs by @dni in #3321
- feat: lud11 disposable and storeable payRequests. by @dni in #3317
- chore: update lnurl to v0.7.3 by @dni in #3320
- feat: use pydantic mypy plugin to have improved linting of models by @dni in #3311
- chore: update to v1.3.0-rc4 by @dni in #3323
- feat: use
uv
instead ofpoetry
for CI, docker and development by @dni in #3325 - feat: allow creating/update user with nostr
npub1
pubkey by @talvasconcelos in #3298 - chore: update lnurl to v0.8.0 by @dni in #3326
- chore: update to v1.3.0-rc5 by @dni in #3328
- ci: fix pip cache is not needed for make by @dni in #3331
- fix: docker for boltz-client broke on rc release by @dni in #3329
- chore: ignore
.venv
dir by @motorina0 in #3338 - chore: update to lnurl v0.8.1 by @dni in #3341
- feat: add
has_connection
,listen
andreceive_queue
to websocket_manager by @dni in #3330 - feat: add copy, download and write NFC to qrcode components by @dni in #3335
- fix: start background tasks when activating extensions at runtime by @echennells in #3333
- chore: update to v1.3.0-rc6 by @dni in #3342
- CI: add poetry lock file check job and update poetry lock by @dni in #3343
- fix: catch error response for lnurl pay by @dni in #3344
- chore: update lnurl to v0.8.2 by @dni in #3347
- fix: also replace http:// urls in by @dni in #3346
- feat: add
search
label by @motorina0 in #3353 - fix: pay with nfc endpoint + add perform_withdraw by @dni in #3352
- fix: js error on qrcode component by @dni in #3354
- fix: properly check outgoing payments in phoenixd by @dni in #3355
- chore: update to version v1.3.0-rc7 by @dni in #3356
- feat: Adds stripe tap to pay flow for TPoS running on Android PoS/phone devices by @arcbtc in #3334
- build(deps): bump axios from 1.8.2 to 1.12.0 by @dependabot[bot] in #3357
- chore: update to v1.3.0-rc8 by @dni in #3359
- Updated to uv by @arcbtc in #3360
- chore: reorder .env for a common block for .env only settings by @hkarani in #3350
- [feat] Extension Builder by @motorina0 in #3339
- FIX: Flake and Module for NixOS deployment by @PatMulligan in #3363
- docs: updated nix install by @arcbtc in #3361
- fix: remove uneven padding from Repo button by @BenGWeeks in #3374
- fix: correct timezone handling for transaction timestamps by @BenGWeeks in #3373
- chore: qr button tweak (quasar classes should always be used) by @arcbtc in #3351
- feat: show badge if an extension has paid releases by @motorina0 in #3385
- chore: clean prin statement by @motorina0 in #3391
- fix: hide payment details for failed payments by @motorina0 in #3393
- docs: jq needed for AppImage install by @arcbtc in #3399
- Fix: Glibc error by pegging ubuntu version, appimage include extras like breez_sdk by @arcbtc in #3397
- fix nix install doc by @arcbtc in #3401
- fix: overlapping input by @talvasconcelos in #3404
- ci: lock boltz client to latest working version by @dni in #3367
- feat: allow query param for qrcode by @motorina0 in #3390
- chore: update version to v1.3.0 by @dni in #3411
Full Changelog: v1.2.1...v1.3.0
v1.2.1
Full Changelog: v1.2.0...v1.2.1
v1.2.0
๐ LNbits v1.2.0 Release Notes
โจ Features
- Added SSL proxy settings to Docker and
.env.example
โ @dni [#3161] - Added Strike Wallet integration โ @santyr [#3150]
- UI improvements for handling large numbers of wallets and payments โ @motorina0 [#3174](#3174)
- Improved service fee payment memo โ @motorina0 [#3176]
- Added URL-safe encoding to
lnbits-cli
โ @dni [#3173] - Masked unexpected errors and added an exception ID for better debugging โ @dni [#3178](#3178)
- Enhanced AES decrypt function with more verbose output โ @dni [#3177]
- Support for custom text and icon in Keycloak โ @talvasconcelos [#3181]
- Added payment status filters โ @talvasconcelos [#3203]
- Added QR code generation for wallet keys โ @talvasconcelos [#3198]
- Improved Nostr pubkey field label and tooltips โ @blackcoffeexbt [#3205]
- Implemented trimmed mean filtering for exchange rate outlier detection โ @blackcoffeexbt [[#3206]
- Added
nostr-sdk
library โ @dni [#3217]
๐ Fixes
- Fixed regtest
nodemanager
+lndrest
compatibility โ @dni [#3166] - Timezone fix for payment list display โ @motorina0 [#3165]
- Frontend scroll fix on admin settings โ @arcbtc [#3162]
- Improved QR code readability โ @talvasconcelos [#3163]
- Allowed ports in domain configuration โ @motorina0 [#3171]
- Fixed issue with nodes missing from 1ml.com โ @motorina0 [#3180]
- Allowed use of soft-deleted wallets โ @motorina0 [#3179]
- Fixed wallet navigation bugs โ @motorina0 [#3208]
- Fixed rounding errors on Eclair total balances โ @dni [#3196]
- Improved error handling logic โ @talvasconcelos [#3214]
๐งช Testing and Dev Tools
- Smaller test funding amounts in
conftest
โ @dni [#3167] - Updated Python version in
lnbits.sh
โ @dni [#3215] - Updated Poetry and disabled some workflows for maintenance โ @dni [#3213]
๐ Docs
- Added documentation for passing vars to AppImage โ @arcbtc [#3164]
- Added comparison table for funding sources โ @blackcoffeexbt [#3183]
โ๏ธ CI and Infrastructure
๐ Release Management
Full changelog: [v1.1.0...v1.2.0]
v1.1.0 - Alan Bits
๐ ๏ธ Fixes and Improvements
- Added missing default values to prevent failures by @talvasconcelos #3099
- Resolved offset naive date errors by @motorina0 #3104
- Normalised fee_reserve amounts by @iWarpBTC #3125
- Explicit
UTC
usage infromNow()
by @motorina0 #3105 - Applied a mask for fiat amounts by @motorina0 #3118
- Ensured int conversion for
lndrest
fee_msat by @iWarpBTC #3116 - Webhook fixes on invoice payment by @motorina0 #3119
- Fixed
401
redirects to home page by @motorina0 #3131 - Better handling of
UNAUTHORIZED
vsFORBIDDEN
by @motorina0 #3139 - Corrected database compatibility in payment search by @PatMulligan #3090
- Fixed issues with
lnd/lndrest
handling expired/cancelled invoices by @dni #3143 - Set explicit cookie
max_age
by @motorina0 #3133 - Suppressed
_bcrypt.__about__.__version__
warnings by @motorina0 #3136 - Prevented unnecessary NFC prompts by @talvasconcelos #3145
- Ensured safe JSON conversion by @motorina0 #3148
โจ New Features
- i18n support for reset password messages by @motorina0 #3106
- Fetch all payments for a user by @motorina0 #3132
- Preimage handling for incoming payments by @dni #3085
- Added
verify_preimage
utility by @santyr #3153 - Superuser setting no longer reset on delete by @arcbtc #3065
๐งน Refactoring and Internal Updates
- Refactored invoice/payment responses in funding source by @dni #3089
- Cleaned up Jinja/component rendering and global variables by @dni #3014
- Reworked LND macaroon encryption using
AESCipher
by @dni #3152
๐ Security
๐งช Tests
- Added internal payment test cases by @motorina0 #3155
๐ Documentation and Translations
- FreeBSD installation notes by @dni #3124
- Updated install docs for v1.0.x by @tlindi #3107
- Added time units to
payment_wait_time
doc by @motorina0 #3144 - Updated Finnish password reset translation by @tlindi #3138
๐ง Build and Release
๐ New Contributors
Full changelog: v1.0.0...v1.1.0
v1.0.0 - Alan Bits
What's Changed
- chore(deps): replace python-jose with pyjwt by @prusnak in #2591
- refactor: add status column to apipayments by @dni in #2537
- chore: bump version to 0.12.11 by @dni in #2601
- bug: removing admin user was not persistent by @dni in #2603
- feat: add
exclude_to
list for btcprice providers by @dni in #2602 - add bitpay and yadio fiat rate providers + increase precision of blockchain.info fiat rate provider by @prusnak in #2605
- Fix for LNURLp with ZBD wallet by @bitkarrot in #2609
- chore: update pyln-client to 24.5 by @prusnak in #2614
- feat: add a copy wallet button by @talvasconcelos in #2613
- Update installation.md by @blackcoffeexbt in #2615
- feat: extra log for tests phases by @dni in #2604
- test: fix flaky regtest by @dni in #2616
- fix: random exceptions in logs in middleware by @dni in #2608
- fix: still flaky regtest by @dni in #2617
- feat: filter response fields for
/api/v1/payments/decode
by @motorina0 in #2612 - fix: skip pending payment check on void by @dni in #2610
- Set a maximium sleep time when retrying to connect to the funding source by @blackcoffeexbt in #2622
- feat: add release flow for release candidates by @dni in #2620
- fix: run cachix nix action for all branches by @prusnak in #2624
- Invoice creation UI: Replace input mask with pattern and inputmode by @blackcoffeexbt in #2623
- feat: add Breez SDK wallet by @callebtc in #1897
- fix: db helpers to be used with timestamps by @dni in #2627
- feat: NWC Funding source #2579 by @dni in #2631
- feat: add typing for tasks by @dni in #2629
- test: refactor to not use paid_invoices stream for real invoice tests by @dni in #2628
- feat: use all to export deps from
__init__.py
by @dni in #2630 - fix: export nwc wallet by @dni in #2632
- fix: add back lnurl wallet by @dni in #2625
- Update breez-sdk to 0.5.2 by @dangeross in #2639
- feat: add label to
lnbits-dynamic-fields
by @dni in #2637 - add copy buttons by @talvasconcelos in #2643
- feat: add boltz client fundingsource by @dni in #2358
- feat: add rate endpoint per currency by @dni in #2641
- show wallet names in dropdown by @talvasconcelos in #2653
- chore: update package.json by @prusnak in #2635
- feat: add generic lnurl error response handler by @dni in #2638
- Fix documentation on decode API by @talvasconcelos in #2655
- fix: add proper validation for the unit field when creating an invoice by @dethos in #2647
- chore: update install instructions for developers by @prusnak in #2652
- fix chips on server page by @talvasconcelos in #2654
- feat: log with
console.error
onnotifyApiError
by @dni in #2646 - Fix lnurl fallback by @talvasconcelos in #2656
- feat: vue components lnbits-dynamic-fields validation by @dni in #2645
- feat: frontend gradient option by @arcbtc in #2561
- refactor: move migrate_databases to core helpers by @dni in #2636
- Uncomment LNBITS_ALLOWED_FUNDING_SOURCES by @arcbtc in #2663
- feat: add baseurl to admin ui settings by @dni in #2644
- chore: update pyproject dependencies by @prusnak in #2619
- fix: regeression on index.html by @talvasconcelos in #2665
- fix: update lnurl for backwards compatibility by @dni in #2666
- fix: QR request case by @talvasconcelos in #2668
- Add detailed CSV export option by @talvasconcelos in #2618
- chore: update to 1.0.0-rc1 by @dni in #2675
- feat: UI / UX improvements to Users balance / tx chart by @blackcoffeexbt in #2672
- Fix overlapping redirect paths by @motorina0 in #2671
- fix: gitignore extensions by @dni in #2682
- feat: install lnbits.sh bash script by @dni in #2684
- fix: bash failed using after install by @arcbtc in #2685
- refactor: rename is_uncheckable by @dni in #2670
- fix: internal payment can still be pending by @dni in #2686
- mega chore: update sqlalchemy by @dni in #2611
- refactor: remove
get_key_type
decorator by @dni in #2676 - feat: update to Vue3 by @dni in #2677
- refactor: use
CreatePayment
model instead of a lot of kwargs by @dni in #2667 - Check for theme params on the URL by @talvasconcelos in #2678
- chore: update to v1.0.0-rc2 by @dni in #2705
- fix: extensions tab for vue3 by @dni in #2706
- fix: use Quasar.notify by @dni in #2707
- fix: forgotten Vue inits by @dni in #2708
- chore: update some log messages by @motorina0 in #2710
- fix: vue3 language switcher by @dni in #2712
- chore: remove unused crud for webpush settings by @dni in #2719
- refactor: use for components by @dni in #2715
- fix: vue3 i18n changed it replacements markers by @dni in #2722
- fix: more vue3 q-tables and v-model:value by @dni in #2717
- fix: fundingsources template id was wrong by @dni in #2723
- ci: do not create gh release on rc's by @dni in #2716
- [feat] Nostr Login by @motorina0 in #2703
- feat: add currency options to LNbits.api by @dni in #2713
- feat: add password reset for usermanager by @dni in #2688
- test: fix test warning by @dni in #2725
- feat: make LNBITS_ADMIN_UI the default by @dni in #2726
- feat: block pay invoice by @motorina0 in #2727
- chore: add .idea folder to gitignore by @jackstar12 in #2730
- fix(boltz): check for direct onchain payments by @jackstar12 in #2732
- fix(boltz): sanitize invoice description by @jackstar12 in #2731
- docs: fix installation guide by @gallizoltan in #2734
- feat: explicitly export for extensions from
__init__.py
by @dni in #2669 - feat: add server status endpoint by @motorina0 in #2736
- update starlette and fastapi by @prusnak in #2737
- fix: catch_everything_and_restart by @motorina0 in #2739
- test: More payment tests by @motorina0 in #2738
- feat: parse nested pydantic models
fetchone
andfetchall
+ add shortcuts for insert_query and update_query intoDatabase
by @dni in #2714 - fix: default timestamp on models by @dni in #2755
- Hide admin keys in curl example by @arcbtc in #2753
- Add NFC Payment Support and Display Receive Amount in Receive Dialog by @utxosvaldo in #2747
- fix: handle list models by @motorina0 in #2756
- fix: date format by @motorina0 in #2757
- fix: add list handling by @dni in #2758
- refactor: extract models by @motorina0 in #2759
- fix: check the settings for extension installed by @motorina0 in #2764
...
v0.12.12
bugfix release
Full Changelog: v0.12.11...v0.12.12
v0.12.12-rc1
Full Changelog: v0.12.11...v0.12.12-rc1
v0.12.11
What's Changed
- chore(deps): replace python-jose with pyjwt by @prusnak in #2591
- refactor: add status column to apipayments by @dni in #2537
- chore: bump version to 0.12.11 by @dni in #2601
- bug: removing admin user was not persistent by @dni in #2603
- feat: add
exclude_to
list for btcprice providers by @dni in #2602 - add bitpay and yadio fiat rate providers + increase precision of blockchain.info fiat rate provider by @prusnak in #2605
- Fix for LNURLp with ZBD wallet by @bitkarrot in #2609
- chore: update pyln-client to 24.5 by @prusnak in #2614
- feat: add a copy wallet button by @talvasconcelos in #2613
- Update installation.md by @blackcoffeexbt in #2615
- feat: extra log for tests phases by @dni in #2604
- test: fix flaky regtest by @dni in #2616
- fix: random exceptions in logs in middleware by @dni in #2608
- fix: still flaky regtest by @dni in #2617
- feat: filter response fields for
/api/v1/payments/decode
by @motorina0 in #2612 - fix: skip pending payment check on void by @dni in #2610
- Set a maximium sleep time when retrying to connect to the funding source by @blackcoffeexbt in #2622
- feat: add release flow for release candidates by @dni in #2620
- fix: run cachix nix action for all branches by @prusnak in #2624
- Invoice creation UI: Replace input mask with pattern and inputmode by @blackcoffeexbt in #2623
- feat: add Breez SDK wallet by @callebtc in #1897
- fix: db helpers to be used with timestamps by @dni in #2627
- feat: NWC Funding source #2579 by @dni in #2631
- feat: add typing for tasks by @dni in #2629
- test: refactor to not use paid_invoices stream for real invoice tests by @dni in #2628
- feat: use all to export deps from
__init__.py
by @dni in #2630 - fix: export nwc wallet by @dni in #2632
- fix: add back lnurl wallet by @dni in #2625
- Update breez-sdk to 0.5.2 by @dangeross in #2639
- feat: add label to
lnbits-dynamic-fields
by @dni in #2637 - add copy buttons by @talvasconcelos in #2643
- feat: add boltz client fundingsource by @dni in #2358
- feat: add rate endpoint per currency by @dni in #2641
- show wallet names in dropdown by @talvasconcelos in #2653
- chore: update package.json by @prusnak in #2635
- feat: add generic lnurl error response handler by @dni in #2638
- Fix documentation on decode API by @talvasconcelos in #2655
- fix: add proper validation for the unit field when creating an invoice by @dethos in #2647
- chore: update install instructions for developers by @prusnak in #2652
- fix chips on server page by @talvasconcelos in #2654
- feat: log with
console.error
onnotifyApiError
by @dni in #2646 - Fix lnurl fallback by @talvasconcelos in #2656
- feat: vue components lnbits-dynamic-fields validation by @dni in #2645
- feat: frontend gradient option by @arcbtc in #2561
- refactor: move migrate_databases to core helpers by @dni in #2636
- Uncomment LNBITS_ALLOWED_FUNDING_SOURCES by @arcbtc in #2663
- feat: add baseurl to admin ui settings by @dni in #2644
- chore: update pyproject dependencies by @prusnak in #2619
- fix: regeression on index.html by @talvasconcelos in #2665
- fix: update lnurl for backwards compatibility by @dni in #2666
- fix: QR request case by @talvasconcelos in #2668
- Add detailed CSV export option by @talvasconcelos in #2618
Full Changelog: 0.12.10...v0.12.11
0.12.11-rc1
What's Changed
This is a biggie. A bunch of fixes and refactors, more developer tests, dependency updates and some UI improvements, such as the lovely gradient option.
x3 EXTRA funding sources Boltz, Breez and Nostr Wallet Connect:
- feat: add boltz client fundingsource by @dni in #2358
- feat: NWC Funding source #2579 by @riccardobl in #2631
- feat: add Breez SDK wallet by @callebtc in #1897
All other updates:
- chore(deps): replace python-jose with pyjwt by @prusnak in #2591
- refactor: add status column to apipayments by @dni in #2537
- chore: bump version to 0.12.11 by @dni in #2601
- bug: removing admin user was not persistent by @dni in #2603
- feat: add
exclude_to
list for btcprice providers by @dni in #2602 - add bitpay and yadio fiat rate providers + increase precision of blockchain.info fiat rate provider by @prusnak in #2605
- Fix for LNURLp with ZBD wallet by @bitkarrot in #2609
- chore: update pyln-client to 24.5 by @prusnak in #2614
- feat: add a copy wallet button by @talvasconcelos in #2613
- Update installation.md by @blackcoffeexbt in #2615
- feat: extra log for tests phases by @dni in #2604
- test: fix flaky regtest by @dni in #2616
- fix: random exceptions in logs in middleware by @dni in #2608
- fix: still flaky regtest by @dni in #2617
- feat: filter response fields for
/api/v1/payments/decode
by @motorina0 in #2612 - fix: skip pending payment check on void by @dni in #2610
- Set a maximium sleep time when retrying to connect to the funding source by @blackcoffeexbt in #2622
- feat: add release flow for release candidates by @dni in #2620
- fix: run cachix nix action for all branches by @prusnak in #2624
- Invoice creation UI: Replace input mask with pattern and inputmode by @blackcoffeexbt in #2623
- fix: db helpers to be used with timestamps by @dni in #2627
- feat: add typing for tasks by @dni in #2629
- test: refactor to not use paid_invoices stream for real invoice tests by @dni in #2628
- feat: use all to export deps from
__init__.py
by @dni in #2630 - fix: export nwc wallet by @dni in #2632
- fix: add back lnurl wallet by @dni in #2625
- Update breez-sdk to 0.5.2 by @dangeross in #2639
- feat: add label to
lnbits-dynamic-fields
by @dni in #2637 - add copy buttons by @talvasconcelos in #2643
- feat: add rate endpoint per currency by @dni in #2641
- show wallet names in dropdown by @talvasconcelos in #2653
- chore: update package.json by @prusnak in #2635
- feat: add generic lnurl error response handler by @dni in #2638
- Fix documentation on decode API by @talvasconcelos in #2655
- fix: add proper validation for the unit field when creating an invoice by @dethos in #2647
- chore: update install instructions for developers by @prusnak in #2652
- fix chips on server page by @talvasconcelos in #2654
- feat: log with
console.error
onnotifyApiError
by @dni in #2646 - Fix lnurl fallback by @talvasconcelos in #2656
- feat: vue components lnbits-dynamic-fields validation by @dni in #2645
- feat: frontend gradient option by @arcbtc in #2561
- refactor: move migrate_databases to core helpers by @dni in #2636
- Uncomment LNBITS_ALLOWED_FUNDING_SOURCES by @arcbtc in #2663
- feat: add baseurl to admin ui settings by @dni in #2644
- chore: update pyproject dependencies by @prusnak in #2619
- fix: regeression on index.html by @talvasconcelos in #2665
- fix: update lnurl for backwards compatibility by @dni in #2666
- fix: QR request case by @talvasconcelos in #2668
- Add detailed CSV export option by @talvasconcelos in #2618
Full Changelog: 0.12.10...v0.12.11
0.12.10
What's Changed
- fix: proper status check in invoice paid callback by @jackstar12 in #2592
- fix: install extensions async by @dni in #2596
- fix: annotations for models.py by @dni in #2595
- chore: update version to
0.12.10
by @dni in #2597
Full Changelog: 0.12.9...0.12.10