-homepage: include # blocks for mempool
-homepage: single item for smart fees
-changelog cleanup
-readme tweaks, including adding a donation lightning address
-Update docs to specify that txindex is necessary for pre-v0.21 nodes
-Gracefully handle getindexinfo failures for old nodes
-Use graceful failure to fallback to assuming that txindex=1 (as docs indicate is necessary)
I'm open to other approaches for identifying absence of txindex, but this should keep older clients functioning at 100% for now.
To more clearly acknowledge that any Electrum-protocol implementation can be configured for address queries, the names of variables explicitly named "ElectrumX" have been changed to "Electrum". Backward compatibility with any clients using the old names is meant to be preserved.
- major visual refresh - new design, layout, fonts, colors, icons, etc
- new dark theme, now the default
- new app icon ("Bitcoin Map Marker")
- cleaner, simpler homepage content
- css for light/dark themes built from scss ("npm run css")
- theme-switcher button in footer, instead of checked items in header dropdown
- cleanup header links and dropdowns, and larger search box
- url change: /unconfirmed-tx -> /mempool-tx
- support for "estimated coin supply" used at startup or on slow devices when UTXO set unavailable
- display fee rate along with TX details on /mempool-tx
- copy-to-clipboard added for lots of longer strings
- major code reuse improvements with pug mixins
- simplify userSettings
- minor error handling improvements for /tx pages in prune/noTxIndex situations
- query fewer tx inputs on /address pages for performance
- exponents on /difficulty-history graph labels
- fixed colors of labels/gridlines on graphs (esp in dark theme)
- drop LTC config (no longer maintained)
- /admin/resetUserSettings
- major memory usage improvements for loading txs with inputs: appropriate input-vouts are now extracted from their source txs and summarized (asm/hex are dropped since they're never used), rather than keeping the whole of input-txs in memory; this dramatically improves memory usage (and avoids crashing due to OOMEs), particularly when loading txs with "heavy" inputs (i.e. many, large input txs); this is relevant for /tx/TXID pages, and particularly important for the new /block-analysis pages which necessarily load many, many txs
- cache-key prefixes for coreApi's caching functionality: to avoid loading old-format data from a persistent cache and barfing on it
- several important code-reuse fixes: there were almost-duplicate chunks of code that were essentially calls to getRawTransactionWithInputs - now just use that function
- new minor /admin page for showing memory usage
- on homepage Network Summary: show full tx count (non abbreviated)
- use new domain everywhere
Move closer to the original vision of supporting any address-querying implementation desired. Current options include ElectrumX (as before) and now blockchain.com and blockcypher.com since they were easy to support and are publicly/easily available (though ridiculously neither is yet to support bc1 addresses).
- new env var option BTCEXP_ADDRESS_API, value can be electrumx, blockchain.com, blockcypher.com
- update ElectrumX client connect to request v1.4 of API as all clients are now supposed to do
- misc frontend improvements/cleanup for addresses
- updated package-lock
- include sample .env file for easy reference
- continue to support key-by-key updating from credentials.js for now
- minor code formatting
- reflect status of BTCEXP_NO_RATES in UI when applicable (hide new exchanged-currency items from display dropdown and hide exchange rate on homepage)
- rename _LOGIN to _BASIC_AUTH_PASSWORD for clarity
- tweak README to call out .env-sample
This ensures a unique, hard-to-guess cookie secret for every instance.
Also, renamed from "cookiePassword" to "cookieSecret" to better express
its meaning.
- cleaner support for handling credentials (new app/defaultCredentials.js has the defaults, git-ignored app/credentials.js overwrites)
- update some dependencies