Skip to content

Releases: Qortal/qortal

v3.2.2

16 Mar 19:59
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

13 Mar 19:36
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

03 Mar 20:17
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

15 Feb 21:59
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

14 Feb 20:10
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

27 Jan 23:14
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

22 Jan 22:57
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

13 Jan 22:44
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

19 Dec 22:06
Compare
Choose a tag to compare

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} or GET /blocks/signature/{signature} unless requested using the includeOnlineSignatures=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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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

11 Dec 22:26
Compare
Choose a tag to compare

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 repo
  • start.sh from git repo
  • stop.sh from git repo
  • printf "{\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