Releases: Qortal/qortal
v3.2.2
Changes in this release:
- Fixed synchronizer issues which caused large re-orgs
qortal.jar
If built using OpenJDK 11:
MD5: 2092c06cd3c4e056ddfecad9142c5c5b
SHA1: c596f71c0ce9ae28de6cb705676dab1c56b17ced
SHA256: ecd3bfae614966429900b0d3354fd73b4d716c292105312ac43c7cda22d636a1
qortal.exe
MD5: 401c06ad4eb3d981e74c587767f5653f
SHA1: 2dce2f7fc1e8572adac7270db7b5870422121919
SHA256: 832e0454699c04ac9e880a160f54c14a09d1ee88c8f0b0da9cc6b7c8552b4284
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 0917f8b4fe464ab42f056d04e605efe0
SHA1: 6e5ac74afcb4b2d2827eb3453271a5d39c4e7e59
SHA256: 3dc5124c67536833e1328a8d96a2af38f5a7ff204f256cb6415cf52dc842466b
v3.2.1
Changes in this release:
- Reworked processIncomingTransactionsQueue() to improve sync speed (thanks to @catbref)
- PRESENCE transactions changed to always fail signature validation (thanks to @catbref)
- Reworked QDN requests to prefer routes with the lowest number of node hops
- Reworked QDN request threads
- Removed ArbitraryPeers table along with all associated code & broadcasts
- Default chunk size for new resources reduced from 1MB to 0.5MB
- Automatically fetch metadata for all resources that have it
- Major CPU optimizations in BlockMinter and ArbitraryDataManager
- Major CPU optimization to peer arrays in Network.java, based on ideas by @catbref
- Increased default maxNetworkThreadPoolSize from 20 to 32
- Significant code refactoring to move online accounts and transaction importing to dedicated controller classes
- Online accounts and transaction processing moved to dedicated threads
- Added support for dark theme in loading screen
- Fix for "Synchronizing null%" systray bug introduced in 3.2.0
- Improved statuses in systray so that they are less misleading
- Report as 100% synced if the latest block is within the last 30 mins
- Removed bootstrap host that is no longer functional
- Modifications to GetArbitraryDataFileListMessage for future QDN feature support
- Direct connections to peers now prefer those with the highest number of chunks for a resource
- Keep trying direct connections for QDN data until one succeeds
- Fix for ConcurrentModificationException in BlockArchiveReader
qortal.jar
If built using OpenJDK 11:
MD5: d22f67e6cd1badc7f19680fcfeba6324
SHA1: 0ed660c9d7c2627c83af8ddf2659f85c13dc7554
SHA256: 2799f17bb1d0e246c0b82417179b24f04031e94643ac06cccb0df27a4a6b7327
qortal.exe
MD5: d6950203f80e2d53b4f56b8fd957308e
SHA1: 06dc8d79ef3cc9938ae34ab02b01b2320659cea9
SHA256: 8802073f4e6b3f199a205438552d606b138d774f8343253e921655a4a099e53c
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 5647f14e2dd1bea3e560646d0d366183
SHA1: 308e348b0eea1917e07866d9ba9804fc95fa31a8
SHA256: 24a0a6e0b017c0de9a212f2526e6be3fe097e42ad0bd034e3ea47d33095ea5ff
v3.2.0
Changes in this release:
- PRESENCE transactions migrated to dedicated network messages (thanks to @catbref)
- New network messages ONLINE_ACCOUNTS_V2 and GET_ONLINE_ACCOUNTS_V2 (thanks to @catbref)
- Fixed TRANSFER_PRIVS issue (thanks to @catbref)
- Modify TradeBot to trigger when chain tip changes instead of with every new block (thanks to @catbref)
- Add level 0 to /addresses/online API endpoint (thanks to @protoniuman)
- Fixed bug which could sometimes cause deleted minting accounts to be re-added (thanks to @protoniuman)
- Add search functionality to hosted resources (thanks to @protoniuman)
- Protocol updates for initial metadata support (remainder to follow in next release)
- Block peers below 3.1.0 (and default minPeerVersion also increased to 3.1.0)
- When submitting a new transaction, treat the chain as "synced" if the latest block is less than 30 minutes old.
- BTC/LTC/DOGE balance fixes
- Added UPnP support
- Optionally include requestTime, requestHops, peerAddress, and isRelayPossible flag in ArbitraryDataFileListMessage
- QDN relays now choose the fastest route (with the least amount of hops)
- Various QDN bug fixes
- Only show the red "synchronizing" systray icon if the latest block isn't recent.
- Added support for Native SegWit (Bech32) addresses, which have the prefixes "ltc1" and "bc1"
qortal.jar
If built using OpenJDK 11:
MD5: ccfff64da0ef6bc7c322d17958003cf6
SHA1: 9104cd1a14dc688b1cd95f3d39a6a08f6723b6b5
SHA256: 77b73b2ba1f83d49f72a07f0586faba68639dc78bbd16b5df161a5aadbd9e0c3
qortal.exe
MD5: 41ffda10a5daef10782514d062e49f1b
SHA1: 8583fd02e25179a32a879a2acbbe5c30ba97ae07
SHA256: 14f4afcb18a0b2022087c19803b582d966ceab14b8130415e2fbbfc418c787e6
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 10fd98056bb060884402fdc2986ea545
SHA1: 1622365589e035b2d0f2c671faada1d2cd4fc71a
SHA256: 034b545fb73c81f4913a73c2d0495017f1b4f788b41d0080303514f585fb742a
v3.1.1
Changes in this release:
BTC/LTC/DOGE Wallets:
- Fixed incorrect balance issue affecting a small number of wallets.
- Increased numberOfAdditionalBatchesToSearch from 5 to 7.
QDN:
- Wait 2 minutes on node startup before trying to fetch followed QDN data.
- Request only the missing hashes, not all of them.
- Stop bulk arbitrary signature broadcasts
- Increased ARBITRARY_REQUEST_TIMEOUT from 10 to 12 seconds.
- Don't throttle the arbitrary data file request threads when there are items to process.
qortal.jar
If built using OpenJDK 11:
MD5: 3f0c6b9e7e9bd4a258ace23d0047cbc2
SHA1: aa8c35e5aa4bd1d11ab7b585b20b1a56261a706e
SHA256: c9caf23f06b93d5061f633408a36b38cc8051b5c62cb93855ae07017aaaf40d7
qortal.exe
MD5: a6a3126defc0eb98ba9fd7b3a9cf4dc1
SHA1: 01807174c7de4d4499f66e2805e6a045f1f0319e
SHA256: 95fde39144c9ae81bd1ddee175458a990849f53693c029263f9c15ce09e54e2c
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 5a450b925ee8cefa03e47833f49c4deb
SHA1: 3a7b444de20c2bc95f42fcbb70f6bee47e232c33
SHA256: 5a579c96d83ef19ee6c996170ed5a5ee9db43f008e76d23f790726144075db48
v3.1.0
Changes in this release:
Wallets:
- Calculate wallet balances from the transactions (ElectrumX) rather than using bitcoinj. Should fix incorrect balance issue.
- Cache transaction list and balances for 2 minutes.
- Added more LTC Electrum peers.
- Increased TX_CACHE_SIZE from 200 to 1000, to speed up loading times on large wallets.
- Move on to another server if one ElectrumX peer takes more than 500ms on average to respond.
- Allow 3 retries for getTransaction() and getAddressTransactions() requests.
- Removed unusably slow electrum peer.
- Added defensiveness in convertToSimpleTransaction()
Names:
- Implemented REGISTER_NAME transaction fee increase from 0.001 to 5 QORT (average value based on community vote).
- Name registration fee increase timestamp set to Sunday, 20 February 2022 16:00:00 UTC
- Fixed bug caused by improper handling of UPDATE_NAME transactions, similar to commit d16663f.
- Rewrite of fetchAllTransactionsInvolvingName() to reduce resource usage.
- Added indexes, to make looking up name transactions by name around 5x faster.
APIs:
- Added GET /transaction/unitfee API endpoint, to obtain the unit fee for a transaction type
- Added POST /transaction/fee API endpoint, to return the recommended total fee for the supplied transaction data.
- Added "async" and "attempts" parameters to GET /arbitrary/{service}/{name}* endpoints.
General:
- Added support for different fees per transaction type.
- Increased MAX_ACCOUNT_COUNT in GetOnlineAccountsMessage from 1000 to 5000.
- minAccountLevelForBlockSubmissions reduced from 6 to 5
- Fixed occasional file conflict when building resources.
- Reduced DOGE fees (thanks to @QuickMythril)
- Added Dockerfile to project (thanks to @otaku)
- Added blockchain lock logging.
- Fixed occasional ConcurrentModificationException in the block archive reader.
- Attempt to acquire a blockchain lock (for up to 5 seconds) before shutting down the repository.
- Check for null IP address before notifying of an external IP update.
- Increased minPeerConnectionTime and maxPeerConnectionTime, to reduce the chances of forced connections during relays.
- Updated thread names
- Added more bootstrap hosts
Transactions:
- Introduced incoming transactions queue, to improve efficiency.
- Added invalidUnconfirmedTransactions map, which reduces requests for known invalid transactions.
- Break out of incoming transactions processing loop if we need to sync.
Synchronizer:
- Moved synchronizer to its own thread, again to improve efficiency
- Retry each synchronization attempt until a blockchain lock can be acquired
- Prioritize syncing over transaction importing.
Block Minter:
- Delay/avoid an unnecessary block submission if one of our peers already has a higher weight chain.
QDN:
- Fixed bug in cache clearing logic, which was often preventing resource updates from being detected.
- Increased builder threads from 1 to 5.
- Increased RELAY_REQUEST_MAX_HOPS from 3 to 4, in an attempt to reach more peers.
- Increased ARBITRARY_RELAY_TIMEOUT from 30 to 60 seconds, to improve relays.
- Added "priority" property to build queue items. Websites are higher priority than avatars.
- Introduced 5 threads to retry failed file requests.
- Rework of arbitraryRelayMap to keep track of multiple responses.
- Don't remove from the relay map after a file is requested, as it may be needed by other peers.
- Fixed metadata file bug in ArbitraryDataFile.chunkExists()
- Try to speed up the shutdown process of the cleanup manager.
- Improved logging when fetching data files.
- Improved file requests with direct peer connections
- Include "localChunkCount" and "totalChunkCount" in the GET /arbitrary/resource/status/* API responses.
- Display the local and total chunk counts on the loading screen.
- Fixed bug in loading screen, which prevented the DOWNLOADING status from showing.
- Added support for file hashes to optionally be included in GetArbitraryDataFileListMessage.
- Rework of onNetworkGetArbitraryDataFileListMessage() to support custom hashes.
- Fixed bug in build manager which would prevent future builds until the core was restarted.
- Stop asking for hashes from a peer if one fails, to avoid spamming
- Slightly optimized logic in fetchArbitraryDataFiles()
- Reduced time between processing build tasks
qortal.jar
If built using OpenJDK 11:
MD5: 8555ceec6f2b5910707e9d11ae8da0c8
SHA1: 77e5c130c9e479350ed7d206f747c1f78f1871d1
SHA256: 2dda819818ca248a21332218520b8e44156e201923e351a142becdd94a87cb6d
qortal.exe
MD5: d8d6ca91548ea8a2e35814b20bde1def
SHA1: 78aedb61b8bfd81ef7763618469dad8786b9dca2
SHA256: 8118442b849c9365cd9bdfc0087cca7f08fa65c1e7aa69d037913fa2f783c5df
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: f2efc885ba4cf4df04ddb2b1c2853bac
SHA1: d9128e60ae866af422dba869d113a88f0a7a8729
SHA256: 45a098ad7aa86d2c482ab0822d3c9d6aa23236d8687f864f01a24c33ae611b51
v3.0.4
Changes in this release:
- Fixed case sensitive ordering issue in websites list
- Allow QDN data to be served without authentication by setting "qdnAuthBypassEnabled":true
- Clear the cache when deleting data, so that it disappears from the data management screen.
- MIN_LEVEL_FOR_BLOCK_SUBMISSION temporarily increased to 6, to help reduce re-orgs
- Synchronize lists, to prevent an occasional ConcurrentModificationException
- Fixed unhandled case in GET /arbitrary/{service}/{name}* endpoints
qortal.jar
If built using OpenJDK 11:
MD5: 7e7b005a8f119ed9c8df80b4b112d039
SHA1: f94e791212d22a2988846c9e997a4605d46ecf46
SHA256: d9c3ec874575315e9ff7cb4a4cceddc878016415264d02dbfdabf5e50524b596
qortal.exe
MD5: 11523cd18e5ad84025a1096929363db7
SHA1: c7d7b0d3cacb61a1984feda335a3e3cbae783d85
SHA256: 4e14b76c406597b119e1527fdbe5d485e87289556f516e02a33d88204b1a7500
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 51efd5ab35b80dff83620880862f3f21
SHA1: 3dd8ead201075b4238b2c6b614597010590fd890
SHA256: 6d71e20576f133ac6e2c82359e2e4f8ccd36833a6dc2a8374d53d68b93d14384
v3.0.2
Changes in this release:
- Fix for IV error encountered on some systems. This may only take effect after updates are published to existing resources.
- "Not started" renamed to "Published"
- Rework of file list requests and relay mode, to hopefully improve data transfer issues. May need further fine tuning.
- Block all external requests from QDN websites
- Reduced log spam
- Fixed occasional exception when parsing IP addresses
- Default minPeerVersion set to 3.0.1
- Optimized "Data Management" (/arbitrary/hosted) APIs
- Added limit/offset to GET /arbitrary/hosted API endpoints
- Sort hosted data in reverse order (newest first)
- Added GET /arbitrary/resources/search API
- Improved cache clearing process and logging.
- Added retry mechanism when deleting relayed files
- Include "size" in /arbitrary/resource APIs
- Increased frequency of retries when data can't be located
- Improved some /blocks API endpoints
- Increase MAX_ACCOUNT_COUNT to 5000 (around 0.5MB of data) to see if it helps with minting efficiency.
- Added networking optimization, to avoid wasted processing on every read.
qortal.jar
If built using OpenJDK 11:
MD5: 93a8fdf295bb1bb0675b12f9b809e8c5
SHA1: 6a6c24a474044a17d8088c6b3a84108414fdbf2d
SHA256: 9c4f71f661de42d2148d8cc65056be7891898446d01bd33eae560d90516935b0
qortal.exe
MD5: 72a552a3fc87fcf7c6f9f22c9e00d8cd
SHA1: 3cd0cf1ef4c9a0cbd22ee86da61c15a7e215db1f
SHA256: 9801dd7007e1935a2cd345a53416d5290e47722fd443266638e75091859b3a0c
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: e51845684582345fab02a5baa8049fd0
SHA1: b03102b74e8de63ae209cde64190f2291721114e
SHA256: e5fc3edc55e1617c2889226da33232e0ba222b9b7b54f5da7eec9485cb263a46
v3.0.1 - Initial QDN release
Changes in this release:
- Added initial support for QDN via ARBITRARY transaction additions
- Added new db table to track file locations
- Go-live timestamp for QDN is Fri, 14 Jan 2022 16:00:00 UTC
Note: if using the UI, version 1.7.0 or higher must be used. Older UI versions are incompatible with this core release.
qortal.jar
If built using OpenJDK 11:
MD5: 23a0eea4ccb3ed9086450d82e202e14a
SHA1: 4df3beb41c449f75023cc6fe504878f55a17f1f2
SHA256: 84c4aeb515cbb8a24bafa5a44450de4858216f8048a43232d921c1bda1855f73
qortal.exe
MD5: 3c59558ba5579ac323d4d63f492df6cd
SHA1: 7ea5f9722f39129d0a6e42815057f7bbd7d9d6f9
SHA256: 7f2bf2522ee958512a94650c5cba24c220c5b4a2086be1ca959d7ddb1baaf876
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 2d63f07a11b69b4f7a61392c33ca6815
SHA1: f3893e2a62ccf85333c0eac11b2ae6888d839c46
SHA256: 461547bb495e13dd0dd64ced9ba6f76ef7cba3bb1c7658c38888ccdc8a53adba
v2.1.3
Changes in this release:
-
Handle missing case in names integrity check caused by an UPDATE_NAME transaction with a blank "newName" value. Should fix NullPointerException on node startup.
-
Disable the names integrity check on startup by default. It can optionally be re-enabled by setting:
"namesIntegrityCheckEnabled": true
. -
Added French translations - thanks to @stchoupi for the original work, @protoniuman for the revisions, and @QuickMythril for committing them to git.
-
Don't return online accounts signatures from
GET /blocks/byheight/{height}
orGET /blocks/signature/{signature}
unless requested using theincludeOnlineSignatures=true
query string parameter. Should fix CPU issues seen when using new Minting Info screen, as well as speeding up these API endpoints which have been extremely slow for a very long time.
qortal.jar
If built using OpenJDK 11:
MD5: 717f30d7bc50c2b106eed56c987a49e3
SHA1: 5dd60221342650d7eb87c8f5c84dc777aa4dd4c6
SHA256: d30bad4c25313bc0f05a0aa8a605174a34f20555e563bcc396741f828c414406
qortal.exe
MD5: 6dc3e9bfba02f83a4180fafc4263ad27
SHA1: de6c1e15ab9e27bb4f64e23a1cef8e829971490e
SHA256: bc45a30c08e8365d1651d737edea45b2ad99ee4504b666ff2552f6e51e4b1911
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 49838e9320889deddf21c31f3c11c370
SHA1: d151dd8b490c3381c083d3f565564c4f7a46242d
SHA256: 850dfacad376b2b156b6ec2ed07335d72277cf74c189a12838a9f994cc92c849
v2.1.2
Changes in this release:
- Small bug fix release
qortal.jar
If built using OpenJDK 11:
MD5: 403003e145a2e67db371b2c4889ef062
SHA1: 0f87305bdd24314d398ad73d963e359ea1617474
SHA256: 985f92ba7f8e9aa69bc84951dbd702d5bfe6d287eae8fab4c09276e18492eef8
qortal.exe
MD5: ce1306cae217bef33af59f1ee4230079
SHA1: 24f2a3d327ed7bfc36d947385e935247589cdf89
SHA256: 5dfd965bc2bdd73a86fa4aaa352b4bf201856ce832f9b67793059eef3baeaa26
VirusTotal report for qortal.exe
qortal.zip
Contains bare minimum of:
- built
qortal.jar
log4j2.properties
from git repostart.sh
from git repostop.sh
from git repoprintf "{\n}\n" > settings.json
All timestamps set to same date-time as commit, obtained via git show --no-patch --format=%cI
Packed with 7z a -r -tzip qortal.zip qortal/
MD5: 3b340c5cbb1af7f38da8d1f64f93b214
SHA1: 86fa88989a1020836b6fd87c0a44569854330c97
SHA256: 54a29df873f45fb65edd2e4346bc035d186400122c4fe89a7d5a7578edd9ac45