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_tolist 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/decodeby @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__.pyby @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-fieldsby @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.erroronnotifyApiErrorby @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_typedecorator by @dni in #2676 - feat: update to Vue3 by @dni in #2677
- refactor: use
CreatePaymentmodel 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__.pyby @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
fetchoneandfetchall+ add shortcuts for insert_query and update_query intoDatabaseby @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
- refactor: make settings key-value in DB by @motorina0 in #2766
- [ui] update settings UI by @motorina0 in #2767
- fix: vue3 changes by @motorina0 in #2770
- fix: extension name and icon by @motorina0 in #2771
- feat: let user filter its own extensions by @motorina0 in #2774
- refactor: simplify condition by @motorina0 in #2775
- fix: ext upgrade by @motorina0 in #2776
- feat: improve user admin by @motorina0 in #2777
- feat: lnd_rest allow self payments by @jjmmbb in #2760
- Feat: audit by @motorina0 in #2779
- fix: some ui bugs by @dni in #2782
- fix: stuck pay_invoice by @dni in #2783
- [feat] install extensions from dir by @motorina0 in #2781
- chore: update to v1.0.0-rc6 by @dni in #2784
- chore: add type to migration by @dni in #2788
- chore: remove ignores from crypto.py by @dni in #2787
- chore: use HTTPStatus for ip middleware by @dni in #2792
- [fix] wallet search on postgres by @motorina0 in #2780
- chore: use HTTPStatus where possible by @prusnak in #2795
- feat: add failed payments toggle to wallet page by @dni in #2794
- fix: last_payment on userlist was broken by @dni in #2796
- chore(deps): bump @intlify/core-base and vue-i18n by @dependabot in #2790
- chore: clean up javascript functions and var/let into const by @dni in #2791
- chore(deps): bump nanoid from 3.3.7 to 3.3.8 by @dependabot in #2798
- test: update python to 3.10 and 3.11 inside CI by @dni in #2803
- test: update ci from ubuntu-latest to ubuntu-24.04 by @dni in #2809
- chore: update to latest pytest by @dni in #2800
- fix: extension init by @motorina0 in #2815
- fix: error on custom badge by @talvasconcelos in #2814
- test: fix lndrest on regtest by @dni in #2811
- fix: ext upgrade from
lnbits-cliby @motorina0 in #2822 - fix: wallet.js regression in changing var
toconst` by @dni in #2824 - test: fix jmeter for ci by @dni in #2825
- [feat] custom exchange providers by @motorina0 in #2797
- feat: return the price with the fiat rate by @motorina0 in #2823
- fix: remove queue limit for invoice listners by @dni in #2829
- fix: make startup extension check sync by @dni in #2819
- fix: don't show when custom badge is not set by @talvasconcelos in #2827
- feat: websocket for payments events, remove /payments/sse and longpolling endpoint by @dni in #2704
- feat: emulate behaviour of paid_invoices_stream for wallets that dont support it by @jackstar12 in #2071
- [feat] update multiple extensions from the UI by @motorina0 in #2833
- hotfix: the hotfix for the custom badge by @talvasconcelos in #2832
- [feat] introduce
max_lnbits_versionfor extensions by @motorina0 in #2834 - make dialogs position at top by @talvasconcelos in #2837
- chore: update to corelightning 24.11 by @dni in #2836
- feat: add negative topups by @dni in #2835
- ci: docker image and test with python3.12 by @dni in #2842
- fix: backwards compatible
get_fiat_rate_satoshisby @motorina0 in #2853 - fix: set default values for
AuditCountStatby @motorina0 in #2854 - fix: get_payments where clause does query wrong payments including tests by @dni in #2844
- docs: updated install guide by @arcbtc in #2846
- test: use regtest main again by @dni in #2855
- chore: update to v1.0.0-rc7 by @dni in #2856
- feat: standardises top spacing of page layout by @arcbtc in #2848
- Added top cards by @arcbtc in #2858
- feat: moved search inside the transaction table by @arcbtc in #2859
- Added settings links and link for theme by @arcbtc in #2860
- feat: nodemanager, view and edit channels fees by @dni in #2818
- fix: ci with docker image built (downgrade poetry) by @dni in #2876
- fix: lndrest nodemanager get_channel (flaky ci decoy) by @dni in #2877
- fix: NWC mark and remove subs before sending close request by @riccardobl in #2870
- fix: restore user type badge by @talvasconcelos in #2861
- chore: update to breez-sdk 0.6.6 by @dni in #2878
- chore: update i18n labels by @talvasconcelos in #2871
- i18n ai by @prusnak in #2881
- fix: cln nodemanager errors on failed transactions by @dni in #2865
- fix: Add timeout to wait_for_connection by @riccardobl in #2885
- fix: lnbits/upgrades where not ignore by @dni in #2889
- v1 feat: Vue Routes by @arcbtc in #2872
- feat: harmonize the UI for payment dialog by @talvasconcelos in #2882
- [feat] access control lists (with access tokens) by @motorina0 in #2864
- fix: for g.user error on public pages by @arcbtc in #2892
- Fix payment table refresh by @talvasconcelos in #2894
- feature: Optional bg image and neon borders by @arcbtc in #2897
- fix: fiat tracking / updating wallet without reloads by @arcbtc in #2891
- fix: multiple ws connections by @motorina0 in #2907
- [feat] Watchdog and notifications by @motorina0 in #2895
- feat: do not allow
user_id_onlylogin for admins by @motorina0 in #2904 - make things work with Python 3.13 + fix Nix by @prusnak in #2908
- fix: Add Breez SDK trampoline payments support by @timheide in #2905
- feature: admin toggle to disable outgoing payments by @arcbtc in #2909
- feature: Default theme for new users by @arcbtc in #2898
- Translate expiry to expirySeconds for Phoenixd by @blackcoffeexbt in #2901
- fix: router force update by @talvasconcelos in #2914
- Add bar spinner by @talvasconcelos in #2915
- fixes wallet ws by @arcbtc in #2912
- Some menu naming changes by @arcbtc in #2911
- fix: convert
BigDecimalobject toint(postgres only) by @motorina0 in #2918 - Fix index.html error by @arcbtc in #2923
- Feat: Adds wallet icon/color select by @arcbtc in #2917
- Add a payments page for admin by @talvasconcelos in #2910
- Reset wallet keys by @talvasconcelos in #2929
- Fixes the jinja container for first_install by @talvasconcelos in #2925
- Revamp the UI on Login / Register page by @talvasconcelos in #2919
- UI improvements by @talvasconcelos in #2926
- Feat: Creates .AppImage a̶n̶d̶ .d̶m̶g̶ on release by @arcbtc in #2920
- Fixes claiming LNURL by @talvasconcelos in #2924
- feat: migrate in chunks by @motorina0 in #2936
- Fix login with oauth by @talvasconcelos in #2935
- Fixes switching back to wallet by @arcbtc in #2937
- white theme that doesnt hurt eyes by @arcbtc in #2938
- Fixes setting theme from account by @arcbtc in #2939
- [fix]: small fixes v1 on demo DB by @motorina0 in #2940
- [fix] small fixes for ext upgrades by @motorina0 in #2941
- Adds no-border to fix the install card by @arcbtc in #2950
- Tweak: Updated Poetry install to include headers and make copy/paste easier by @arcbtc in #2948
- Adds extension# option to extensions url by @arcbtc in #2947
- Tweak: Removes profile dropdown for public pages by @arcbtc in #2943
- BG image/gradient to light fix by @arcbtc in #2945
- tweak: fun themes by @arcbtc in #2951
- Fix: payments table by @arcbtc in #2952
- Wallet polish by @motorina0 in #2942
- Small fix on public pages by @talvasconcelos in #2953
- Another small one by @talvasconcelos in #2954
- Fix: date grouping for older SQLite versions by @motorina0 in #2955
- Revert "Another small one" by @arcbtc in #2958
- fix: keep upgrades out of codebase by @motorina0 in #2957
- [fix] callback url validation by @motorina0 in #2959
- fix: wallet url by @motorina0 in #2961
- Update fi.js by @tlindi in #2963
- Tweak so long wallet names/balances do not break wallet card/list by @arcbtc in #2964
- Quasarfy drawer scroll by @arcbtc in #2965
- fix: logout on safari by @motorina0 in #2971
- Chart polish by @motorina0 in #2973
- fix: nostr login by @motorina0 in #2975
- add blink logo by @talvasconcelos in #2976
- fix: extract tag from
extraby @motorina0 in #2977 - adds a blur to the transparent bg by @talvasconcelos in #2978
- Change UI for Pay Invoice Dialog by @talvasconcelos in #2979
- change icon for pending by @talvasconcelos in #2980
- feat: add
normalize_pathhelper by @motorina0 in #2981 - bug: settings fundingtab errors by @dni in #2982
- fix: pay_invoice timeout to prevent blocking by @dni in #2875
- Fake wallet fixes by @arcbtc in #2983
- feat: modernize error page by @talvasconcelos in #2949
- fix: wallet balance format by @arcbtc in #2985
- fix: default hide funding inputs by @arcbtc in #2987
- feat: add python-multipart for uploads by @dni in #2873
- feat: add label for wallet fiat tracking by @dni in #2988
- fix: payments filter by @talvasconcelos in #2989
- tweak: added libfuse2 to guide for fresh vps folks by @arcbtc in #2991
- tweak: just to make it obv port can be changed by @arcbtc in #2992
- tweak: checkout main not needed by @arcbtc in #2993
- [feat]: invoice amount settings by @motorina0 in #2990
- chore: update lnbits version to 1.0.0-rc8 by @dni in #2995
- tweak: embit needs to be declared by @arcbtc in #2996
- Fix a typo in reset password logic by @talvasconcelos in #2998
- [feat] filter payments in wallet by @motorina0 in #2997
- [Fix] Denomination 3 characters by @talvasconcelos in #3001
- [fix]: various issues discovered during testing by @motorina0 in #3002
- fix: paying an invoice does not send a webhook. #2472 by @dni in #2999
- [fix] admin errors by @motorina0 in #3004
- Fix: compare not assign by @talvasconcelos in #3009
- Feat (crypto): Add URL-safe encoding option to AESCipher by @PatMulligan in #2984
- [fix]: rate limiter init by @motorina0 in #3011
- fix: python versions were defined incorrectly and remove 3.9 by @dni in #3006
- Fix: don't show register if new users not allowed by @talvasconcelos in #3010
- Feat: email notifications by @arcbtc in #3007
- feat: only check the current page for pending payments by @motorina0 in #3015
- Tweak: Changed naming for password area by @arcbtc in #3016
- tweak: dont show full id on wallet select box by @arcbtc in #3017
- [fix] settings cleanup by @motorina0 in #3013
- feat: add test email and improve on email notifications by @dni in #3018
- [Fix] Hide text on small screen by @talvasconcelos in #3021
- feat: return payment status in the websocket response by @motorina0 in #3025
- tweak: punchy bitcoin theme by @arcbtc in #3028
- tweak: fix funding source hide by @arcbtc in #3027
- tweak: fix 'test email' btn by @arcbtc in #3026
- CI: use latest 1.x poetry version by @dni in #3039
- chore(deps): bump vue-i18n from 10.0.5 to 10.0.6 by @dependabot in #3022
- tweak: fixes service fee badge by @arcbtc in #3029
- chore(deps): bump axios from 1.7.7 to 1.8.2 by @dependabot in #3042
- tweak: moved custom denomination to fakewallet funding source by @arcbtc in #3030
- tweak: use qr code image for favicon as well by @arcbtc in #3031
- fix: pay invoice dialog by @talvasconcelos in #3023
- FIX: Backwards compatibility for creating invoice with lnbits funding source by @PatMulligan in #3041
- chore: update to v1.0.0-rc9 by @dni in #3043
- [fix] limit the size of the invoice description to 640 characters by @motorina0 in #3045
- [Fix] Remove references and warnings for BETA by @talvasconcelos in #3047
- fix: qr scanner button was missing the method by @talvasconcelos in #3046
- [Fix] Set default chart text color by @talvasconcelos in #3048
- feat: use image that works for fav and qr as default by @arcbtc in #3051
- Dev update fi.js again by @tlindi in #3052
- [Fix] default to sats if wallet not fakewallet by @talvasconcelos in #3055
- hide 'Runs On' scroll if title is not LNbits by @talvasconcelos in #3053
- tweak: fix for ws payment by @arcbtc in #3057
- Revert "tweak: fix for ws payment" by @arcbtc in #3060
- Remove LNbits UI elements by @arcbtc in #3064
- fix: add default extensions when a user is created by @motorina0 in #3061
- fix: make swagger understand the access token
HTTPBearerby @dni in #3068 - Adds image library for admins by @arcbtc in #3066
- [CHORE] add responsive text scaling with clamp() for wallet balance display by @PatMulligan in #3071
- Add ws link to curl examples by @arcbtc in #3063
- fix: make parallel calls for exchages by @motorina0 in #3073
- fix: allow admin to view payments in deleted wallets by @motorina0 in #3074
- feat: cleanup on library dir creation and upload endpoints by @dni in #3069
- feat: show wallet payments on search by @motorina0 in #3076
- feat: do not allow regular admins to edit by @motorina0 in #3077
- fix: missing label by @motorina0 in #3081
- fix: include node balance in server status by @motorina0 in #3079
- fix: phoenixd uses
satinstead ofmsatforpay_invoiceby @dni in #3083 - fix dialog consistency by @talvasconcelos in #3082
- fix: FakeWallet, bolt11 payment_secret is not the preimage by @dni in #3084
- Update fi.js-1.0.0-rc10-tobe by @tlindi in #3086
- chore: update to v1.0.0-rc10 by @dni in #3087
- ci: trigger release on rc's > 9 by @dni in #3088
- feat: create new user from the command line by @motorina0 in #3098
- [Fix] - Bug on switching wallets and payment details by @talvasconcelos in #3094
- chore: update LNbits to version v1.0.0 by @dni in #3100
- feat: install lnbits.sh bash script (#2684) by @dni in #3101
- @gallizoltan made their first contribution in #2734
- @utxosvaldo made their first contribution in #2747
- @jjmmbb made their first contribution in #2760
- @riccardobl made their first contribution in #2870
- @timheide made their first contribution in #2905
- @PatMulligan made their first contribution in #2984
New Contributors
Full Changelog: 0.12.10...v1.0.0