Skip to content

Releases: tronprotocol/java-tron

GreatVoyage-v4.7.7(Epicurus)

29 Nov 06:24
e811def
Compare
Choose a tag to compare

Notice

Mandatory upgrade

New Features

Core

  1. TIP-697: Migrate pow operation from java.lang.Math to java.lang.StrictMath for cross-platform computational consistency. (#6098)

Change

  1. Solve temporary block synchronization failure in event subscription nodes due to event handling exceptions. (#6096)

  2. Support graceful shutdown with signal -15 (SIGTERM) for nodes enabling backup. (#6095)

  3. Improve duration metrics accuracy of gRPC interfaces. (#6097)

  4. Optimize precompiled contracts. (#6101)

Integrity Check

All available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Not what we have but what we enjoy, constitutes our abundance.

---Epicurus

GreatVoyage-v4.7.6(Anaximander)

04 Oct 14:44
4d0ad61
Compare
Choose a tag to compare

Notice

Non-mandatory upgrade

New Features

Core

Change

  1. Improve P2P network stability, avoid potential isolation of internal network nodes (#5924,#5944,#5956,#5984)

  2. Optimize transaction expiration checks, and stop broadcasting transactions to be expired in advance (#5999)

  3. Set blockBothHave when processing broadcasted blocks to understand peer status better (#5925)

  4. Add isSyncIdle method to determine status of syncing peers to avoid transaction/block broadcasts affecting block synchronization (#5921)

  5. Optimize sortPeers by catching and ignoring avgLatency concurrent access issue (#5923)

  6. Enhance checks for fetch inventory messages, requested block number cannot exceed maximum block number carried in chain inventory message (#5922)

  7. Add TCP-out traffic to Prometheus statistics and UDP-in traffic to /monitor/getstatsinfo statistics (#5942)

  8. Resolve the statistical inaccuracy issue caused by concurrency errors in HTTP metrics(#5920)

  9. Bump com.google.protobuf:protobuf-java from 3.21.12 to 3.25.5(#6025)

  10. Improve stability of Gradle test task

    1. Introduce test-retry plugin to help mitigate issues caused by flaky tests (#5916)
    2. Reduces noise by ignoring non-essential unstable tests for MerkleTreeTest (#5927)

Integrity Check

All available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Nature is eternal and does not age.

---Anaximander

GreatVoyage-v4.7.5(Cleobulus)

30 May 13:06
a8ad2a1
Compare
Choose a tag to compare

Notice

Mandatory upgrade

New Features

Core

  1. TIP-653: Adjust energy cost of SUICIDE and VOTEWITNESS opcodes in TVM. (#5837)
  2. Improve the check logic of block messages with more strict checks. (#5830)
  3. Limit the size of account creation transactions to less than 1000 bytes. (#5835)
  4. Tune check logic of transaction size to less than 500kb including Result. (#5838)
  5. Guarantee size consistency of Result and Contract in transactions. (#5839)

Change

  1. Fix race condition for fetchBlockInfo. ( #5831)
  2. Fix race condition for syncBlockToFetch. ( #5832)
  3. Optimize block production logic by checking the miner state after obtaining block locks. (#5833)
  4. Remove redundant code. (#5834)
  5. Replace cleanUp() with invalidateAll() in a cache to remove all entries. (#5731)

Integrity Check

All available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Seek virtue and eschew vice.

---Cleobulus

GreatVoyage-v4.7.4(Bias)

15 Mar 10:03
b1fc2f0
Compare
Choose a tag to compare

Notice

Mandatory upgrade

New Features

Core

  1. TIP-635: Optimize algorithm performance of voting reward calculation in Phase1 (since TIP-53, to TIP-465) to speed up the process. (#5406, #5654, #5683, #5742, #5748)
  2. Suspend tx broadcasting if blocks cannot get solidified and reach the threshold in the longest chain, this is an optional function. (#5643, #5751)

Change

  1. TIP-621: Add field codeVersion to HelloMessage to declare code version. (#5584, #5667)
  2. Bump libp2p to version 2.2.1 to fix some bugs. (#5694)
    • Bump snappy-java to 1.1.10.5, fix CVE-2023-34453
    • Remove dependency xercesImpl
    • Set log level of UDP exceptionInvalidProtocolBufferException to WARN
    • Add LAN IP acquisition logic, add field lanIp in P2pConfig
    • Optimize handshake logic: no duplicate handshake message is sent if the connection is active
  3. Bump jetty to 9.4.53.v20231009, fix CVE-2023-40167. (#5571)
  4. Refactor Gradle dependencies for version management. (#5625)
  5. Provide gRPC reflection service by calling with the grpcurl command. (#5583)
  6. Replace LiteFullNodeTool in the framework module with Toolkit.jar db lite in the plugin module. (#5650)
  7. Remove configuration item node.discovery.bind.ip and modify defaultconfig.conf. (#5597, #5750)
  8. Remove redundant CI scripts: checkStyle.sh, codecov.sh, querySonar.sh, sonar.sh. (#5580)
  9. Start API service first to avoid node startup error due to ports being occupied by P2P service. (#5711)
  10. Optimize log (#5660, #5687, #5697, #5624, #5601)
    • simplify expected exceptions, elaborate unexpected exceptions
    • log level of block version checking adjusted from ERROR to WARN
    • remove log print when calling API /wallet/getnodeinfo
  11. Resolve ZeroMQ concurrency issue to avoid event data disturbance when the node enabling build-in message queue is in high load. (#5536)
  12. Optimize unexpected exception capture process of scalingFactor in API/wallet/createshieldedcontractparameters. (#5746)

API

  1. Supply BLOCK_UNSOLIDIFIED in code for API /wallet/broadcasttransaction, to indicate when blocks cannot get solidified pile up. (#5643)

For a full rundown of the changes please consult the GreatVoyage-v4.7.4(Bias) release milestone.

Integrity Check

All available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Be slow in considering, but resolute in action.

---Bias

GreatVoyage-v4.7.3.1(Solon)

12 Jan 06:37
7a6a6d8
Compare
Choose a tag to compare

Notice

Non-mandatory upgrade

New Features

Change

  • Fix a small probability error when calling API /wallet/getnodeinfo (#5657).
  • Fix a small probability issue of Lite Fullnode's data-pruning tool when the node is killed by kill -9 (#5658).

Integrity Check

All available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Do not counsel what is most pleasant, but what is best.

---Solon

GreatVoyage-v4.7.3(Chilon)

25 Oct 14:01
440d062
Compare
Choose a tag to compare

Notice

Non-mandatory upgrade

New Features

Core

  • TIP-586 Add gRPC interfaces for resource price query (#5412).
    • GetBandwidthPrices
    • GetEnergyPrices
    • GetMemoFee
  • TIP-592 Supplement disconnect reasons (#5392).
  • Discard transactions from bad peers instead of disconnected peers (#5440).
  • Optimize Stake2.0 codes and error messages (#5424, #5426).
  • Accelerate bloomFilter initialization for transactions cache. Note that this optimization is disabled by default, please set storage.txCache.initOptimization = true to enable it (#5394, #5491, #5505, #5523, #5543).
  • Fix concurrency issues when generating chain inventory (#5393, #5532).
  • Correct resource disorder closure behavior on kill -15 (#5410, #5425, #5420, #5429, #5447).
    • Optimize database closure.
    • Refine the sequence of resource closure.

Changes

  • Fix expired transaction check issue when fetching transactions (#5460).
  • Fix the concurrency issue of getHeadBlockId method (#5403).
  • Delete unused network configurations (#5441).
    • node.discovery.public.home.node
    • node.discovery.ping.timeout
    • node.p2p.pingInterval
  • Acquire external IP from libp2p (#5407).
  • Support stake-related transactions in the log event (#5419).
  • Adjust the default value of node.validateSignThreadNum for signature validation threads from half of CPU cores to all cores (#5396).
  • Mark LiteFullNodeTool as deprecated which has been migrated to Toolkit and will be removed in the next major release (#5482).
  • Enhance the query performance of DynamicPropertiesStore (#5378).

API

  • Fix the memory inflation issue in the HTTP monitor module (#5332).
  • Provide uniform rate limitation configuration rate.limiter.global.api.qps for all HTTP and gRPC APIs (#5502).
  • Fix input parameter parsing exceptions in the HTTP interfaces (#5367, #5483).
    • /wallet/getReward
    • /wallet/getBrokerage
  • Add resource unit price query API for Solidity (#5451).
    • /walletsolidity/getbandwidthprices
  • Optimize the request and response process for some interfaces (#5408).
    • /wallet/getavailableunfreezecount: support owner_address for GET request.
    • /wallet/getcanwithdrawunfreezeamount: process timestamp as 0 if not provided in GET request.
    • /wallet/getcandelegatedmaxsize: process type as 0 if not provided in GET request.
    • /wallet/getblockbynum: process num as 0 if not provided in GET request.

For a full rundown of the changes please consult the GreatVoyage-v4.7.3(Chilon) release milestone.


Integrity Check

All jar files available in this release are signed via this GPG key:

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Do not desire impossible.

---Chilon

GreatVoyage-v4.7.2(Periander)

01 Jul 10:02
9e95599
Compare
Choose a tag to compare

Notice

This is a mandatory upgrade.

New Features

Core

  • Network module updated to Libp2p v1.2.0 #5017 #5304
    • Libp2p Support for IPv6
    • Node Discovery via DNS
    • P2P message snappy compression
    • Connection precheck before P2P communication
  • Optimize effective peer-acquiring strategy #5088
  • TIP-555 Network upgrade logic optimization #5247
  • TIP-541 Support canceling unstaking in Stake 2.0 #5230 #5260 #5279
  • TIP-542 Resource delegating supports customizable lock period #5255 #5260 #5264

TVM

Changes

  • Optimize event plugin storage logic of MongoDB #5031
  • Support dynamic loading according to node.active and node.passive #5090
  • Optimize block synchronization logic #5094 #5097 #5102
  • Normalize HTTP URLs #5085
  • Optimize block fetching under weak network #5106
  • Add a new node startup mode #5011
  • Add monitoring metrics for JSON-RPC #5222
  • Remove auto-repair function for corrupted LevelDB data #5223
  • Upgrade JUnit from 4.12 to 4.13.2 #5244
  • Optimize checkpoint v2 recovery process #5224

API

  • Add global rate limiter #5093
  • API triggerconstantcontract and estimateenergy support estimation of energy consumed by creating contracts. #5079
  • TIP-544 Add data to the HTTP interfaces interacting with smart contract. #5079
  • Optimize getStorageAt return when querying contract created by create2 #5061

Integrity Check

All jar files available in this release are signed via this GPG key:

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Forethought in all things.

---Periander

GreatVoyage-v4.7.1.1(Pittacus)

17 Apr 10:17
d5da6ae
Compare
Choose a tag to compare

Notice

Non-mandatory upgrade

New Features

TVM

  • Optimize the update logic of origin_energy_usage in transaction receipts #5120

API

  • TIP-534 Remove insecure APIs #5096
    • HTTP(8)
      • createaddress,generateaddress
      • easytransfer,easytransferbyprivate,easytransferasset,easytransferassetbyprivate
      • gettransactionsign,addtransactionsign
    • gRPC(9)
      • CreateAddress,GenerateAddress
      • EasyTransfer,EasyTransferByPrivate,EasyTransferAsset,EasyTransferAssetByPrivate
      • GetTransactionSign,GetTransactionSign2,AddSign
  • Optimize the return of GetTransactionInfoById and GetDelegatedResourceV2 interfaces #5120 #5123

Integrity Check

All jar files available in this release are signed via this GPG key:

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Whatever you do, do it well.

---Pittacus

GreatVoyage-v4.7.1(Sartre)

27 Feb 10:48
da2673c
Compare
Choose a tag to compare

Notice

Non-mandatory upgrade

New Features

Core

  • Change the default IP of the node to solve the address verification error in the UDP message #4990
  • Optimize block synchronization logic #4995 #4996 #5009
  • Optimize activeNodes node adding logic #4994

Changes

  • Optimize light node detection #4986
  • Optimize LevelDB&RocksDB log output to db.log #4985 #5001 #5010
  • Optimize the logic of event service when handling genesis block #4974
  • Optimize of network processing blocks and message timeout logs #4977

API

  • Remove inefficient APIs for solidity added by Stake2.0 #4997
  • Optimize APIs for resource delegation index query #8

Integrity Check

All jar files available in this release are signed via this GPG key:

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


The more sand that has escaped from the hourglass of our life, the clearer we should see through it

---Sartre

GreatVoyage-v4.7.0.1(Aristotle)

20 Jan 06:21
cb6c15a
Compare
Choose a tag to compare

Notice

Forced upgrade

New Features

Core

  • TIP-467 Stake 2.0 - the new stake mechanism #4838
  • Optimize performance,lower non-heap memory usage, enhance data query performance #4740 #4756 #4792
  • Add libp2p module as java-tron p2p network protocol implementation #4791

TVM

  • TIP-491 Support dynamic energy model #4873
  • TIP-474 Optimize the return value of chainid opcode #4863
  • Add new instructions to support Stake 2.0 #4872
  • Add new precompile contracts to support Stake 2.0 #4872

Changes

  • Optimize Gradle built by setting JVM from 512M to 1G to improve stability of compiling #4837
  • Optimize node conditional stop function, multi-condition configuring are disabled #4853 #4858
  • Remove abandoned version of revokingDB #4836
  • Make snapshot flush speed configurable #4834
  • Integrate LiteFullNodeTool.jar and DBConvert.jar into Toolkit.jar, add database copy function to Toolkit.jar #4813 #4849
  • Optimize LevelDB,RocksDB log output to tron.log #4833
  • Fix the incompatibility issue between grpc-java and netty #4928

API

  • Add energy estimation API: /wallet/estimateenergy #4873
  • TIP-467 Add Stake 2.0 related APIs
    • /wallet/freezebalancev2: stake TRX to obtain TRON Power (voting rights) and bandwidth or energy
    • /wallet/unfreezebalancev2: unstake TRX to release bandwidth and energy and at the same time TRON Power will be reduced and all corresponding votes will be canceled
    • /wallet/delegateresource: delegate resource
    • /wallet/undelegateresource: undelegate API
    • /wallet/withdrawexpireunfreeze: withdraw unfrozen balance API
    • /wallet/getavailableunfreezecount: remaining times of available unstaking API
    • /wallet/getcanwithdrawunfreezeamount: query the withdrawable balance at the specified timestamp
    • /wallet/getcandelegatedmaxsize: query the amount of delegatable resources of the specified resource Type for target addres
    • /wallet/getdelegatedresourcev2: query the amount of resources detail delegated by fromAddress to toAddress
    • /wallet/getdelegatedresourceaccountindexv2: query the resource delegation index by an account

Integrity Check

All jar files available in this release are signed via this GPG key:

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process: GPG signature verification


Courage is the first of human qualities because it is the quality which guarantees the others.

---Aristotle