Releases: mempool/mempool
v2.5.0
The Mempool Open Source Project v2.5.0
Release Notes
- If you are using a custom pools.json URL in the
POOLS_JSON_URL
setting, you need to update topools-v2.json
- After upgrading the
blocks
database table will be cleared and reindexed
Highlights
- Lightning Network Explorer
- LND and CLN support
- GeoIP integration
- Channel forensic
- Visualized mined blocks
- Optional getBlockTemplate algoritm for accurate mempool prediction
- Block audit with health score
- Historical fiat prices and currency selector
- Difficulty adjustment widget
- Historical CPFP data
- Smarter search bar in dark mode
- The blockchain now scrolls and jumps to any block
- The blockchain- and mempool blocks orientation can be flipped
New languages supported
- Lithuanian by @eimze21
- Danish by @pierrevendelboe
- Nepalese by @Kebinm
Changelog
- Lightning Network Explorer by @nymkappa in #1976
- Don't round signet difficulty in table and chart by @nymkappa in #2059
- Add nodes per network chart component by @nymkappa in #1978
- Index LN channels stats and show them in dashboard widget by @nymkappa in #1980
- Add LN charts into
/graphs
and add timespan selection by @nymkappa in #1981 - Liquid always uses esplora (regression of #2039) by @nymkappa in #2065
- Fix graphs button layout by @nymkappa in #2066
- Set /block API cache duration according to block age by @nymkappa in #2067
- nginx: Fix errors found by gixy (nginx conf static analyzer) by @erikarvstedt in #2072
- Add maxmind geoip-db update utility to prod installer by @wiz in #2071
- Populate historical node data by @softsimon in #2073
- frontend: Always reference
resources
relative to root by @erikarvstedt in #2070 - Use maxmind to store node locations by @softsimon in #2074
- Add lightning to logger by @softsimon in #2075
- [Indexer] Set log level accordingly - Remove indexing ETAs by @nymkappa in #2069
- Refactoring backend routes code by @softsimon in #2076
- CONTRIBUTING.md: Ask contributors to sign their commits by @erikarvstedt in #2077
- [LN] Add
as_organization
in nodes table by @nymkappa in #2088 - Show maxming data when available is nodes page by @nymkappa in #2095
- Add USD serie in block fee/reward charts by @nymkappa in #1817
- Re-add missing migration that was dropped during merge conflict by @nymkappa in #2099
- Fix LN dashboard layout during indexing by @nymkappa in #2093
- Make sure we have initial channel stats to display after fresh run by @nymkappa in #2094
- Block audit page by @nymkappa in #2068
- Fix graph titles layout and text by @nymkappa in #2114
- Add nodes per AS chart by @nymkappa in #2097
- Add nodes per country table page by @nymkappa in #2098
- Nodes list per ISP by @nymkappa in #2121
- Fix naming convention "as" => "isp" by @nymkappa in #2120
- LN nodes per country pie chart by @nymkappa in #2118
- Move TV button to
/graphs/mempool
graph page by @nymkappa in #2113 - Fix error 500 for
Isle of Man
nodes list by @nymkappa in #2123 - [Hashrate chart] Fix javascript error if difficulty array is empty by @nymkappa in #2085
- Ignore Kraken historical price without USD by @nymkappa in #2112
- Fix nodes per network chart localization by @nymkappa in #2117
- Fix node per as table css by @nymkappa in #2119
- Fix block prediction chart when there is few or no data available by @nymkappa in #2110
- Removing randomness in Fireworks scss by @softsimon in #2130
- Reduce nginx cache time for production homepage by @wiz in #2131
- Create lightning nodes world heat map (clearnet) by @nymkappa in #2139
- Route new APIs to services backend by @wiz in #2145
- Subdomain enterprise logo by @softsimon in #2146
- Create world map of clearnet LN nodes and channels by @nymkappa in #2147
- Remove gitignore json wildcard by @softsimon in #2140
- Fix block predition graph x axis labels by @nymkappa in #2138
- Block audit code refactor by @nymkappa in #2109
- Always show taproot button by @softsimon in #2141
- Enterprise logo container by @softsimon in #2148
- Navbar logos fix by @softsimon in #2151
- Fix Cypress TV tests by @knorrium in #2149
- Refactor Cypress GHA by @knorrium in #2150
- Draft: Open Graph link previews by @mononaut in #2152
- Show LN map on the LN dashboard by @nymkappa in #2158
- Make flags clickable by @nymkappa in #2155
- Add channels map to the node page by @nymkappa in #2157
- Integrate GeoIP2 ISP database by @nymkappa in #2166
- [Node page] Update channels count when switching between open/closed by @nymkappa in #2168
- [Node page] Handle empty channels list by @nymkappa in #2169
- [Node page] Handle non existing node by @nymkappa in #2170
- Remove duplicated nodes from the world map by @nymkappa in #2171
- Add Taproot transaction feature tooltip with fee saving information by @antonilol in #2167
- Fix for mempool logo jumping with various sizes of enterprise logo by @softsimon in #2172
- Address @xekyo's comments on #2167 by @antonilol in #2188
- [Node page] Add link to node list per country/isp in node page by @nymkappa in #2185
- [Node page] Remove node chart 1mb line and fix y axis by @nymkappa in #2186
- [LN Dashboard] - Show 3y charts instead of 1y by @nymkappa in #2187
- Fix zmq ports in prod bitcoin.conf by @wiz in #2194
- Add random generated mysql passwords on prod install by @Emzy in #2193
- [LN stats] Order lightning_stats by added timestamp instead of id by @nymkappa in #2190
- Fix for mempool logo not being centered vertically by @softsimon in #2192
- A couple of new eslint rules by @softsimon in #2183
- Create shared toggle component to re-use by @nymkappa in #2200
- Add capacity/nodes, include/exclude Tor from ISP chart by @nymkappa in #2201
- Ony consider channel stats = 1 for stats calculation by @nymkappa in #2202
- Don't set all channels to inactive when the updater runs by @nymkappa in #2203
- Silence LN db migration is CONFIG.LIGHTNING.ENABLED = false by @nymkappa in #2204
- feature: add /block/:hash/raw api route by @oleonardolima in #2181
- Open Graph link unfurler service by @mononaut in #2173
- Better block unfurls by @mononaut in #2205
- Address unfurls by @mononaut in https://github.com/mempool/mempool/pull/...
v2.4.0
The Mempool Open Source Project v2.4.0
This release introduces many cool new features:
- All-new mining dashboard with 7 new mining graphs
- Added "bitfeed style" mempool block visualization
- Improved blocks page that identifies mining pools
- Improved fee suggestions with a "no priority" rate
- And much more!
Out of the ~3400 commits in our git repo, ~1300 were made since v2.3.
Lots of work went into v2.4, and all users are encouraged to upgrade to enjoy this new functionality.
Notes for upgrading from v2.3 if your timezone is NOT set to UTC
If you are upgrading from v2.3 or earlier and you want to migrate your historical mempool statistics database, you will need to do a special update procedure if your server's timezone is NOT set to UTC. How to migrate:
- Backup your MySQL database.
- Terminate the mempool backend process.
- Run the following query to check your mysql connection timezone:
SELECT @@global.time_zone, @@session.time_zone;
- If you get SYSTEM, check your system timezone with the
date
command. - Perform the SQL query with your negative GMT offset:
UPDATE statistics SET added=DATE_ADD(added, INTERVAL -2 HOUR);
(For example, if your timezone is set to CEST (UTC+2), you need to shift all your statistics entries negative 2 hours.) - Proceed with upgrading mempool as usual.
Changelog
- Insert zeroed statistics in the database if the mempool is empty by @nymkappa in #1151
- Only apply vbytes/sec cap on Bitcoin mainnet - Fix linter issues by @nymkappa in #1154
- Move difficulty adjustment code to separate module by @nymkappa in #1152
- dont use hardcoded genesis coinbase and block hash by @antonilol in #1158
- Display Liquid asset icons by @softsimon in #1167
- Liquid asset loading fixes by @softsimon in #1170
- Fix Liquid proxy settings by @knorrium in #1171
- Asset name overflow fix by @softsimon in #1172
- Update Liquid tests by @knorrium in #1176
- Update Cypress to v9.3.1 by @knorrium in #1175
- Update e2e tests: new scenarios for Liquid, Bisq and refactor button by @knorrium in #1178
- Fix broken link on the Bisq transaction page by @knorrium in #1177
- Cleanup master-page template by @nymkappa in #1183
- Wrap statistics db ops with try/catch by @nymkappa in #1182
- Mining dashboard (1/2) - Import mining pools into the database by @nymkappa in #1163
- Remove useless autocommit=0 in db migration script by @nymkappa in #1187
- Fixing Liquid asset precision by @softsimon in #1173
- Change Citadel link to core by @AaronDewes in #1194
- Mining dashboard (2/2) - Dashboard PoC by @nymkappa in #1162
- Increase nginx send_timeout and keepalive_requests by @wiz in #1193
- Enable nginx warm cache for mining pools API data by @wiz in #1198
- Let backend set its own HTTP cache time headers for APIs by @wiz in #1199
- Replaced /mining/pools?interval=X by /mining/pools/X by @nymkappa in #1208
- Set proper mining pool page title - Rename "Name" to "Pool" by @nymkappa in #1207
- outputs of genesis coinbase are always unspent by @antonilol in #1160
- Proxy all /api and /api/v1 requests to local nodejs server by @softsimon in #1215
- Wrap custom blocks fields into a sub object of IEsplora.Blocks by @nymkappa in #1212
- Adding a "mixed" dev proxy by @softsimon in #1219
- Local dev proxy working with all base modules by @softsimon in #1218
- Fetch conversion rates over Tor by @knorrium in #1213
- Run tests in Staging by @knorrium in #1228
- Featured assets and asset groups by @softsimon in #1224
- Add EXTERNAL_ASSETS defaults to the Docker start script README by @knorrium in #1225
- Disable featured assets test for testnet by @softsimon in #1230
- add log priority option for stdout log by @antonilol in #1180
- Cypress improvements by @knorrium in #1234
- sync-assets: Download pool logos from github by @nymkappa in #1233
- Remove debug return which break the UX the first time we open by @nymkappa in #1232
- Allow TV view time span switch through url fragment by @nymkappa in #1192
- Duplicated db blocks insertion attempts are expected by @nymkappa in #1220
- Consider we're synced with the mempool if we cached 99% by @nymkappa in #1240
- Refactor docs by @hunicus in #1239
- Added /api/v1/blocks-extras endpoint by @nymkappa in #1235
- implement /api/mempool for home users (romanz/electrs backend) by @antonilol in #1248
- Don't wait for 100% mempool sync before starting block indexing by @nymkappa in #1243
- Remove duplicated tests by @nymkappa in #1252
- Provide a way to completely disable block indexing and mining menu by @nymkappa in #1250
- Created mining pool stats page by @nymkappa in #1242
- Index more block data by @nymkappa in #1253
- Create difficulty chart component by @nymkappa in #1255
- Change pool ranking pie chart colors by @nymkappa in #1257
- Create mining dashboard page by @nymkappa in #1254
- When blocks need re-indexing, truncate the table by @nymkappa in #1258
- Update docker default min loglevel to info by @knorrium in #1261
- Show miner tag under blocks in the mining dashboard by @nymkappa in #1259
- Display top featured assets on Liquid dashboard by @softsimon in #1245
- detect lightning htlc and unilateral close + fix multisig badge by @antonilol in #1223
- Created hashrate chart component by @nymkappa in #1269
- Tweak new charts design by @nymkappa in #1272
- Show block reward in the mining dashboard by @nymkappa in #1274
- Display asset circulating amount more nicely fixing overflow by @softsimon in #1273
- Merge hashrate and difficulty components, cleanup mining design by @nymkappa in #1275
- Remove block subsidy from mempool blocks by @nymkappa in #1277
- Handle missing asset registry assets by @softsimon in #1278
- Add proxy support for Liquid Testnet by @softsimon in #1279
- Show tx value sum if complete unblinding data is provided by @softsimon in #1280
- Fixed incoming transactions bar on the status page by @softsimon in #1281
- Fix status page regex by @knorrium in #1282
- Update Cypress to v9.5.0 by @knorrium in #1283
- Upgrade frontend deps: Angular 13.2, echarts 5.3, fortawesome by @softsimon in #1284
- Create pools hashrate dominance chart by @nymkappa in #1285
- Merge pool share and dominance into one widget by @nymkappa in #1288
- Only reset hashrate state flag after database migration - Fix weekly … by @nymkappa in #1297
*...
v2.3.1
This is a minor bug fix release for an issue that may cause historical mempool graphs to appear incorrectly after upgrading from v2.2 - we recommend upgrading directly to v2.3.1 instead of v2.3.0 if you are currently using v2.2
Changelog
- Don't set
autocommit=0
flag when migrating SQL database
Full Changelog: v2.3.0...v2.3.1
v2.3.0
This release introduces a new design for our historical mempool chart legend and API documentation, and improves support for Bitcoin Core v22 and Taproot transactions, among many other enhancements and fixes. All users are encouraged to upgrade.
Notes
- Requires Node.js v16.10.0, npm 7.24.0, MariaDB v10.5
- Requires manually updating nginx.conf if not using Docker
- Docker installation config vars have changed, see README
- MySQL tables now automatically created and/or migrated
- Bitcoin, Liquid, and Bisq now hosted on separate FQDNs
Highlights
- Replaced chartist library with apache/echarts (#738)
- Upgraded to Angular 13.1 and NgBootstrap 11 (#1124)
- Fixed display of mempool graphs data on time axis (#1004)
- Fixed off-by-one fee rate tier in mempool graphs data (#908)
- Fixed addresses not displaying using Bitcoin Core v22 (#779)
- Improved data resolution of historical mempool graphs (#1044)
- Improved layout design of API docs page (#994, #1027)
- Added new chart timespans for 2 year / 3 year (#905)
- Added ability to drag blockchain horizontally (#1024)
- Added ability to highlight outputs using vout index (#880)
- Added web form to Broadcast Transaction using raw hex (#881)
- Added tag for transactions that spend Taproot outputs (#918)
- Added version and locktime data to transaction page (#930)
- Added halving and event countdown with fireworks (#912, #923)
- Added locales Romanian, Macedonian and Thai (#791, #792, #942)
- Added graph for L-BTC in circulation on Liquid dashboard (#799)
- Added support for Liquid Testnet (#1052, #1053, #1131)
Changelog
- Fix API docs examples for Raspberry Pi users using romanz/electrs by @wiz in #772
- Feature: New charts library. by @MiguelMedeiros in #738
- Disable mouseover legend for mobile users. by @MiguelMedeiros in #789
- Fix RTL issues by @TechMiX in #782
- Add new locale: Romanian (ro) by @wiz in #791
- Add new locale: Macedonian (mk) by @wiz in #792
- Set canonical URLs for new 3 site structure by @wiz in #775
- Credit Romanian and Macedonian translators. by @softsimon in #793
- Pulled from transifex by @softsimon in #794
- Handle changes to address RPC api in bitcoin core 22 by @softsimon in #779
- Always use local hostname for API examples. by @softsimon in #800
- Transifex language fixes to Romanian, Makedonian and Hungarian. by @softsimon in #801
- Add Zeus LN as Community Integration by @wiz in #803
- UI/UX: Fix charts css styling. by @MiguelMedeiros in #795
- Remove warden from list of Community Integrations by @wiz in #804
- Update the URL for Unchained Capital to unchained.com by @wiz in #805
- Upgrading to Angular 12 and NgBootstrap 10 by @softsimon in #806
- Liquid L-BTC widgets (Backend) by @softsimon in #799
- Update production backend configuration files by @wiz in #809
- L-BTC in circulation dashboard widgete by @softsimon in #810
- Handle search for Liquid block hashes in search bar. by @softsimon in #812
- Fix for fee rounding not using locale by @softsimon in #813
- Check for data to possibly fix Liquid test by @softsimon in #819
- UI/UX: Add inverted feature to mempool fee chart. by @MiguelMedeiros in #820
- Adding POST /tx API to bitcoind mode by @softsimon in #821
- Fix tooltip mempool chart hover selection. by @MiguelMedeiros in #823
- Sort block transactions first by height and then time by @softsimon in #814
- L-BTC graph: Minor styling update by @softsimon in #824
- Fix the focus effect on the mempool graph. by @MiguelMedeiros in #825
- Fix for stuck Bisq transaction page when filtering by @softsimon in #826
- Change total sum column to fixed color. by @MiguelMedeiros in #831
- Remove circle symbols when hovering the series. by @MiguelMedeiros in #837
- Fix parse numbers localized. by @MiguelMedeiros in #838
- Fix lint 'no-shadowed-variable'. by @MiguelMedeiros in #839
- Fix total percentage bar value. by @MiguelMedeiros in #843
- Fix confirmations button positioning. by @MiguelMedeiros in #840
- Remove vbytesPipe from series data. by @MiguelMedeiros in #846
- Add mark line to mempool chart. by @MiguelMedeiros in #845
- Update README preview image by @softsimon in #848
- Use MEMPOOL_BLOCKS_AMOUNT config in the frontend by @softsimon in #853
- Display mempool graph on the Liquid dashboard by @softsimon in #855
- Remove sitemap.xml from robots.txt by @wiz in #857
- Display correct amount of mempool blocks on mobile by @softsimon in #856
- Add mempool chart filtering. by @MiguelMedeiros in #847
- UI/UX: Make tooltip looks bigger on mempool fee chart. by @MiguelMedeiros in #862
- Set the iOS status bar when viewing as progressive web app by @wiz in #866
- UI/UX: Fix fee rate tiers on graphs. by @MiguelMedeiros in #867
- UI/UX: Fix mempool chart tooltip at dashboard component. by @MiguelMedeiros in #868
- Ref: Fix typo. by @MiguelMedeiros in #874
- Broadcast transaction form by @softsimon in #879
- Add output ID to transaction info by @softsimon in #880
- Fix ws api docs by @knorrium in #887
- Add instructions on how to contribute to the Frontend codebase by @knorrium in #894
- e2e BASE_MODULE cleanup by @knorrium in #893
- Handle new type of Electrum Server error. by @softsimon in #884
- UI/UX: Fix height inconsistencies between components. by @MiguelMedeiros in #873
- UI/UX: Fix Liquid.network missing tooltip series name. by @MiguelMedeiros in #892
- UI/UX: Fix buttons positions at graphs page. by @MiguelMedeiros in #890
- UI/UX: Add 2y and 3y statistics time span. by @MiguelMedeiros in #905
- UI/UX: Fix rtl mobile header menu. by @MiguelMedeiros in #897
- Enable address autocomplete for all networks by @wiz in #916
- Doc: Fix nginx package name. by @MiguelMedeiros in #902
- Adding Taproot transaction tag by @softsimon in #918
- Display previous output types by @softsimon in #920
- Fix menu button styles. by @MiguelMedeiros in #921
- Localization: Add localize strings at echarts tooltip. by @MiguelMedeiros in #898
- Update mainnet partial address tests by @knorrium in #922
- Add special blocks animation: fireworks. by @MiguelMedeiros in #912
- Adding taproot countdown by @softsimon in #923
- Fix: mempool empty block. by @MiguelMedeiros in #932
- Adding version and locktime to transaction details by @softsimon in #930
- Fix local dev proxy by @knorrium in #928
- Display lower <1 s/vB fee rate tiers for Liquid by @softsimon in #910
- Handle recent difficulty adjustment estimate gracefully by @softsimon in #941
- Fix for empty mempool block position by @softsimon in #940
- Fix: op_return tooltip position. by @MiguelMedeiros in #935
- Enable i18n locale Thai (th) by @wiz in #942
- Delete nginx logs after 10 days and explain this in our Privacy Policy by @wiz in #943
- Pos...
v2.2.2
This is a minor release for fixes and minor enhancements.
All users are encouraged to upgrade.
Changelog:
- Fix memory leaks in the frontend causing webapp to crash (#755)
- Fix median fee not displayed when viewing a block page (#749)
- Fix incorrect API documentation and related examples (#716)
- Fix displaying significant digits of transaction fee (#722)
- Fix search bar addresses types and case sensitivity (#765)
- Fix current difficulty period progress calculation (#746)
- Add block navigation arrows for next and previous (#710)
- Add base module setting for Liquid / Bisq builds (#669)
The complete changelog is available at:
v2.2.1...v2.2.2
v2.2.1
Changelog:
- UI: New component for difficult adjustment (#602)
- UI: Add blockchain skeleton loader (#615)
- UI: Added links to block header and transaction hex (#630) (#682)
- UI: Reflect hash rate into mempool blocks estimations. (#637)
- API: Add endpoint for difficulty adjustment data (#628)
- Bug: Fix for difficulty adjustment when still synchronizing (#677)
- Bug: Fix for transaction tracking when network goes offline (#702)
- Bug: Fix for mempool blocks displaying wrong gradient color (#623)
- i18n: Added support for Hindi and Catalan locales
Notes:
- If you maintain your own nginx.conf, update it for the new i18n locales
The complete changelog is available at:
v2.2.0...v2.2.1
v2.2.0
This release contains many fixes and improvements from the past few months.
All users are encouranged to upgrade.
Notes:
- If you maintain your own nginx.conf, update it for the new i18n locales
Changelog:
- CPFP effective rate calculation for all CPFP transactions (#395)
- Difficulty adjustment calculation fixes for main dashboard (#475)
- Bisq dashboard with market prices, graphs, other improvements (#381)
- UX improvements for more responsive design on mobile devices (#458)
- API docs page improvements with new mempool.js API library (#544)
- About page now lists project contributors from GitHub API (#382)
- FOSS license updated to dual-license of GNU AGPLv3 / GPLv3 (#410)
...and much more!
The complete changelog is available at: v2.1.2...v2.2.0
v2.1.2
This is a patch release that optimizes memory usage for embedded devices like Raspberry Pi
Notes:
- The disk cache now has its own folder, so
mv cache*.json ./cache/
before restart to migrate
Changes:
- Optimize memory usage when writing disk cache (#342)
- Reduce backend maximum heap size setting to 2G (#345)
- Enable mempool clear protection on all backends (#335)
- Make mempool clear protection timeout configurable (#343)
- Minor tweaks to About page text, links (#350)
- Logo design update (#349) by @pedromvpg
- Fix style on block hover (#347) by @Czino and @Eric-Machinas
v2.1.1
This update adds support for Umbrel, together with a few minor bugfixes:
- Improve Docker workflow for Umbrel (#326) by @bguillaumat
- BSQ token market cap calculation fix (#332) by @devinbileck
- Lightning HTLC identification label fix (#320) by @fiatjaf
v2.1.0
Mempool v2.1.0 is a minor release that brings bug fixes and improvements.
- Implement workflow to publish mempool on DockerHub. #67
- Add CoreRPC "Minimum fee" to the dashboard. #171
- Fix for occasional inability to change language to English. #275
- Fix for anguage dropdown select styling. #293
- Display a red RBF button when RBF is not enabled. #279
- Don't save disk cache on exit. Handle corrupted mempool disk cache. #304
- Fix for fee estimate not being correct when block is almost full. #278
- Bisq stats calculation fixed. #280
- Fix for sub networks not detected when using languages. #287
- Don't display fee rating when block medianFee is empty. #228
- Display P2PK inputs as "P2PK" instead of empty string. #290
- Better identification of Lightning and Liquid scripts. #324
- Add new languages: Hungarian and Italian
- (Bitcoind) Return correct http status message when tx not found. #295
- (Bitcoind) Adding missing basic API endpoints. #291
- (Bitcoind) Parse witness scripts from P2SH transactions. #323
- (Electrum) Hide missing address received/sent from address page. #294