Releases: lnbits/lnbits
v1.5.4 - Hanzy
This is a minor release, mostly focused on a hotfix for the AppImage install. It also includes some light refactoring and UI fixes.
We’ve also added the ability to cap the number of users or extensions on an instance, for those providing LNbits as a service.
Welcome new contributors @satcat21 and @karans-repo 🥳
What's Changed
- fix: use
--offlineforuvby @motorina0 in #3896 - feat: optimize QR code value for bach32 by @motorina0 in #3900
- ci: only run ci on pull request by @dni in #3902
- chore(deps): bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in #3901
- chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #3903
- refactor: move payment code from
tasks.pytoservice/payments.pyby @dni in #3800 - chore(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in #3909
- [tests] Wallets test editor by @motorina0 in #3910
- [test] Codex tests by @motorina0 in #3911
- chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #3912
- fix: webhook can fail for multiple reasons by @motorina0 in #3921
- fix: funding source ui by @arcbtc in #3920
- feat: max users + extensions env by @arcbtc in #3919
- fix: Appimage by @arcbtc in #3926
- fix: first_install for local by @arcbtc in #3927
- chore: revert changing default auth by @dni in #3934
- chore(deps): bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in #3930
- feat: ui, adds full/thumb buttons to assets by @arcbtc in #3928
- chore: update axios upgrade to 1.15.0 by @dni in #3936
- feat: Add phoenixd mnemonic display by @talvasconcelos in #3931
- feat: adds an upload for assets on backgroundImage in account and site customisation by @arcbtc in #3929
- chore(deps): bump python-multipart from 0.0.22 to 0.0.26 by @dependabot[bot] in #3933
- chore: update to version v1.5.4-rc1 by @dni in #3935
- fix: add auth_https_only to env.example by @arcbtc in #3937
- fix: Switching images to local by @arcbtc in #3938
- chore: update to version v1.5.4 by @dni in #3939
New Contributors
- @satcat21 made their first contribution in #3760
- @karans-repo made their first contribution in #3789
Full Changelog: v1.5.3...v1.5.4
v1.5.3 - Hanzy
What's Changed
- [feat] reset the first install token by @motorina0 in #3894
Full Changelog: v1.5.2...v1.5.3
v1.5.2 - Hanzy
What's Changed
- feat: docker release-rc add tag for latest rc release
latest-rcby @dni in #3872 - feat: Improvements to settings > routing fee reserve settings UX by @blackcoffeexbt in #3857
- fix: docker sparkl2 and ad multiplicity by @dni in #3875
- chore: update to v1.5.2-rc1 by @dni in #3876
- fix: Sanitise lightning addresses by casing in lnurlscan by @blackcoffeexbt in #3856
- refactor: remove unused
Jinja2Templatessuper class by @dni in #3803 - chore(deps): bump tornado from 6.5.2 to 6.5.5 by @dependabot[bot] in #3866
- chore(deps-dev): bump immutable from 5.1.4 to 5.1.5 by @dependabot[bot] in #3853
- chore(deps): bump underscore from 1.13.7 to 1.13.8 by @dependabot[bot] in #3843
- test: on_paid listeners using a mock by @dni in #3802
- fix: increase lndrest timeout by @motorina0 in #3799
- fix: docker env variable for spark and boltz by @dni in #3879
- chore: update to version 1.5.2-rc2 by @dni in #3880
- fix: node version for sparkl2 docker by @motorina0 in #3881
- chore: update to version v1.5.2-rc3 by @dni in #3882
Full Changelog: v1.5.1...v1.5.2
v1.5.1 - Hanzy
Named after LNbits community member Hanzy, who has provided excellent feedback on LNbits’ merchant extensions. Hanzy is in the trenches - onboarding merchants, spreading Bitcoin adoption, and building a company on the LNbits stack; an exemplary Bitcoiner the community is lucky to have 🧡.
Alongside a number of minor patches, this release makes managing the Spark L2 funding source from LNbits core easier. This release also introduces a Docker image for the Spark L2 sidecar + LNbits, making it easy to deploy LNbits with a packaged funding source: https://hub.docker.com/r/lnbits/lnbits-sparkl2
What's Changed
- feat: set sidecar mnemonic if missing by @motorina0 in #3839
- CI: pin boltz to version by @dni in #3852
- feat: currency helper by @arcbtc in #3849
- fix: default theme change for 1.5.1 by @arcbtc in #3838
- SparkL2 updated docs by @DoktorShift in #3810
- Fix: mobile view wallet issues by @talvasconcelos in #3850
- chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 by @dependabot[bot] in #3815
- chore: update to v1.5.1-rc1 by @dni in #3858
- feat: admin settings UX improvements by @blackcoffeexbt in #3859
- chore(deps): bump werkzeug from 3.1.5 to 3.1.6 by @dependabot[bot] in #3807
- chore: update to v1.5.1 by @dni in #3874
Full Changelog: v1.5.0...v1.5.1
v1.5.0
Full Changelog: v1.4.2...v1.5.0
v1.4.2
What's Changed
Full Changelog: v1.4.1...v1.4.2
v1.4.1 - DNI
Mostly regression bug fixes for v1.4 - DNI, including fixes for wallet deletion issues, the QR code export undefined bug, and several dependency updates.
New Contributors
What’s Changed
Fixes
- Fix QR code export returning
undefinedby @dni #3689 - Fix
greenletimport issue on macOS by @dni #3698 - Fix
allow_self_paymenttype in lndrest (boolean instead of integer) by @PatMulligan #3700 - Fix password reset from the UI by @motorina0 #3712
- Fix deleting users with wallets by @motorina0 #3711
- Fix
/user/{user_id}/walletto return deleted wallets by @dni #3713 - Fix search input on extension page by @talvasconcelos #3705
- Fix handling of pre-populated data by @motorina0 #3717
- Fix undelete wallet functionality by @motorina0 #3730
- Update
apipayments.updated_atwhen a payment is modified by @21M4TW #3699
Features
Dependency Updates
- Bump
fastapi-ssofrom 0.18.0 to 0.19.0 #3681 - Update Breez Liquid SDK by @dni #3685
- Bump
aiohttpfrom 3.12.15 to 3.13.3 #3703 - Bump
urllib3from 2.6.0 to 2.6.3 #3706 - Bump
werkzeugfrom 3.1.4 to 3.1.5 (dev) #3714 - Bump
virtualenvto 20.36.1 (deps & dev-deps) #3718 #3719 - Bump
filelockto 3.20.3 (deps & dev-deps) #3720 #3721
Full Changelog v1.4.0...v1.4.1
v1.4.0 - DNI
Named after @dni. DNI is a prolific contributor to LNbits who has been tearing through the codebase, making the software more streamlined, easier to maintain, and blazingly fast. LNbits would not be the project it is today without the contributions of this incredible developer.
v1.4 is a huge update and a massive achievement. Thank you to all the contributors who made this possible!
Notable Changes
- Major frontend overhaul: The LNbits frontend is now even faster after a large refactor that turns pages into Vue components, significantly improving responsiveness and maintainability.
- Significant backend performance improvements: Especially noticeable on busy servers, with reduced database load, improved payment handling, and faster common operations.
- Numerous fixes and improvements: Spanning payments, funding sources, providers, frontend, and backend.
New Contributors
- @wskeele made their first contribution in #3425
- @btcforplebs made their first contribution in #3606
Full Changelog: v1.3.1...v1.4.0
What's Changed
- feat: ci appimage have manual triggers by @dni in #3424
- fix: improve mobile responsiveness for admin settings by @BenGWeeks in #3431
- fix: exclude (soft) deleted wallets when creating an invoice by @motorina0 in #3439
- fix: LND GRPC macaroon fields by @motorina0 in #3444
- feat: improve VoidWallet warning visibility on all devices by @BenGWeeks in #3428
- fix: release ci, pass upload_url from task to task by @dni in #3449
- nix: Re-enable and fix basic nix flake check for nix package and module by @wskeele in #3425
- fix: add dependency-groups get rid of warning by @dni in #3454
- feat: NWC use coincurve instead of secp by @dni in #3455
- feat: remove nfc not supported by @dni in #3453
- fix: handle all lnurl exceptions on lnurlscan endpoint by @dni in #3451
- refactor: move
/paymentsinto vue component by @dni in #3414 - fix: broken html
/docsuse gfm by @dni in #3471 - fix: markdown rendering on index.html by @dni in #3472
- refactor: simplify base.js by @dni in #3473
- refactor: move /node into vue component by @dni in #3460
- refactor: move /audit into vue component by @dni in #3461
- refactor: move /wallets into vue component by @dni in #3462
- refactor: move /users into vue component by @dni in #3463
- refactor: move /admin into vue component by @dni in #3466
- refactor: move /account into vue component by @dni in #3467
- feat: Shared Wallets/Joint Accounts (Issue #3297) by @BenGWeeks in #3376
- refactor: use decorators for disabled endpoints by @dni in #3481
- feat: move
extension/builderinto vue component by @dni in #3479 - feat: move '/extensions' into vue component by @dni in #3480
- [test] admin paths by @motorina0 in #3494
- feat: move
/first_installto vue component by @dni in #3485 - feat: migrate changes from PR #3456 by @motorina0 in #3496
- fix: incorrect styles in
base.htmlfrom #3431 by @dni in #3486 - refactor into
<lnbits-footer />component by @dni in #3487 - refactor into
<lnbits-header />component by @dni in #3488 - refactor move home
/into vue components by @dni in #3498 - refactor into '' component by @dni in #3499
- fix: update API response structure and fix checking_id mismatch by @santyr in #3478
- refactor: lndgrpc, update grpcs file, use types and enums, LookupInvoiceV2 by @dni in #3469
- Revise LNBits Admin UI documentation by @DoktorShift in #3443
- refactor: lndrest get_payment_status and pay_invoice use api v2 by @dni in #3470
- fix: check_callback_url in dispatch_webhook was not handled by @dni in #3503
- fix: vertically center first install by @talvasconcelos in #3501
- fix: pay_invoice http error by @motorina0 in #3506
- fix: wallet was not flipping by @dni in #3508
- refactor: move logout to utils by @dni in #3509
- feat: add configurable threshold for balance delta notification by @BenGWeeks in #3433
- [feat] user assets by @motorina0 in #3504
- fix: extension enable reactivity by @dni in #3512
- fix: bug in renaming lnbits-extension-list by @dni in #3513
- feat: add language to topmenu + globals cleanup + i18n refactor by @dni in #3510
- refactor: create last base.html vue component by @dni in #3514
- feat: refactor create lnbits-theme vue component by @dni in #3515
- refactor: rename payment-list to lnbits-payment-list by @dni in #3517
- refactor: use mobileSimple reactive value by @dni in #3518
- refactor: move
walletTypesfrom mixin intolnbits-new-user-walletby @dni in #3519 - refactor: move _api_docs.html into vue component by @dni in #3520
- refactor: move
_wallet-share.htmlto vue component by @dni in #3522 - fix: regression in
node.jsby @dni in #3521 - fix: chart color for darkmode by @dni in #3525
- refactor: rename and fix
lnbits-wallet-newby @dni in #3528 - fix: check for
nullstring on localstorage by @dni in #3529 - fix: allow str instead of number by @talvasconcelos in #3531
- refactor: lnbits-wallet-ads, ads on wallet page by @dni in #3534
- fix: clarify payment wait time by @talvasconcelos in #3540
- fix: login screen layout by @talvasconcelos in #3538
- fix: theme global initialisation when not defined was wrong by @dni in #3542
- refactor:
lnbits-wallet-chartsand clean up paymentFiltering by @dni in #3526 - chore: remove unused full withdraw by @dni in #3544
- feat: move disclaimer from wallet.html into vue component by @dni in #3536
- chore: getting rid of jinja variable in wallet.html by @dni in #3547
- [feat] Payment labels by @motorina0 in #3537
- fix: payment labels route dynamically to account#labels by @dni in #3548
- refactor: create
lnbits-wallet-paylinkscomponent by @dni in #3523 - fix: pagination vanished on chrome by @dni in #3549
- refactor: move to
lnbits-wallet-iconvue component by @dni in #3535 - [perf] Performance bust paginated search by @motorina0 in #3543
- feat: footer remove site_title condition by @dni in #3557
- refactor: lnbits-wallet-extra the expandables in the sidebar by @dni in #3550
- fix: hide splitter on mobile by @talvasconcelos in #3558
- fix: robots.txt containing newline and whitespaces by @dni in #3560
- [fix] user sorting performance by @motorina0 in #3561
- Update README.md with new TipJar badges and links by @DoktorShift in #3563
- feat: move
wallet.htmlto vue component. FINAL DynamicComponent pr by @dni in #3559 - [perf] pending payments check by @motorina0 in #3565
- chore: refactor windowMixin, init-app.js, lnbits-theme by @dni in #3569
- feat: create wallet if user does not have one by @dni in #3566
- fix: temporarly removed utils but used it for logout by @dni in #3574
- fix: better naming by @arcbtc in #35...
v1.3.1 - Vlad Stan
This release includes several important 1.3.0 patch updates. All users are encouraged to update.
Welcome new contributor @DoktorShift ❤️
What's Changed
- chore: update boltz docker image to latest by @dni in #3418
- ci: add appimage to release flow by @dni in #3412
- feat: add UI funding source retries by @talvasconcelos in #3407
- bug: frontend, add some margin to bottom by @talvasconcelos in #3405
- [feat] Stripe subscription by @motorina0 in #3369
- feat: add batch invoice polling and persistence for StrikeWallet by @santyr in #3300
- [feat] add case insensitive search for users by @motorina0 in #3413
- feat: add and initialize the
payment_requestfield forPaymentby @motorina0 in #3389 - feat: edit wallet name by admin by @motorina0 in #3417
- chore: dead cose in core/tasks.py by @dni in #3421
- docs: update admin ui readme.md by @DoktorShift in #3402
- chore: update to v1.3.1 by @dni in #3422
- fix: appimage ci workflow by @dni in #3423
New Contributors
- @DoktorShift made their first contribution in #3402
Full Changelog: v1.3.0...v1.3.1
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_lnurlto 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
LnurlPayActionResponseby @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
uvinstead ofpoetryfor CI, docker and development by @dni in #3325 - feat: allow creating/update user with nostr
npub1pubkey 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
.venvdir by @motorina0 in #3338 - chore: update to lnurl v0.8.1 by @dni in #3341
- feat: add
has_connection,listenandreceive_queueto 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
searchlabel 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