Skip to content

Releases: tronprotocol/java-tron

GreatVoyage-v4.8.0(Kant)

29 Apr 08:18
72e31d9
Compare
Choose a tag to compare

Notice

Mandatory upgrade

New Features

Adapt to Ethereum Cancun Upgrade

  1. TIP-650: Implement EIP-1153 Transient Storage Opcodes (#6185, #6195, #6214)

  2. TIP-651: Implement EIP-5656 MCOPY - Memory Copying Instruction (#6185, #6194)

  3. TIP-745: Introduce EIP-4844 and EIP-7516 instructions (#6232, #6247,#6270, #6283)

Core

  1. TIP-694: Enhance Verification of Transaction Limitation at Consensus Layer (#6172, #6221)

  2. Improve consensus layer verification to prevent malicious blocks from being produced in maintenance periods. (#6187)

  3. Improve consensus layer verification to prevent malicious blocks with header times not integer multiples of 3s from being produced. (#6186)

  4. Refine SR ranking algorithm to ensure consistency in rare cases. (#6173)

TVM

  1. TIP-652: Deprecate SELFDESTRUCT
    Note: TIP-652 does not change the behavior of SELFDESTRUCT but formally announces core developers' intention of changing it in future upgrades. It is recommended that the SELFDESTRUCT opcode be exposed to users to warn them about an upcoming change in semantics.

Net

  1. Optimize P2P protocol and dispose solidified block list to avoid network bandwidth wasting. (#6184)

  2. Increase scheduling frequency of block synchronization tasks to improve efficiency of block synchronization. (#6183)

  3. Enhance transaction validity verification and dispose transactions with 0 contract in advance. (#6181)

Change

  1. Provide a new version of the event service framework (V2.0), decouple event services and block processing from threads, and support synchronizing events from specific historical blocks. The original version of the event service framework has been retained and will gradually be migrated to the new version. (#6192, #6206, #6223, #6227, #6234, #6274)

  2. Replace java.math with the cross-platform consistent java.strictMath to prepare for future ARM architecture support. (#6182, #6210, #6262)

  3. Standardize the process exit logic while maintaining existing functionality. (#6170, #6177, #6205)

  4. Enhance service integrity checks during node startup to ensure all critical services start. (#5857, #6228, #6233)

  5. Upgrade dependencies to patch vulnerabilities in previous versions. (#6180, #6207, #6257, #6260)

  6. Upgrade Gradle to 7.6.4 and enable dependency integrity verification. (#5869, #5903, #6229)

  7. Fix a potential NullPointerException issue during startup. (#6216)

  8. For the nodes with internal transaction logging enabled, the execution of internal transactions containing the opcode CANCELALLUNFREEZEV2 can be configured to be logged. (#6191)

API

  1. JSON-RPC APIs support finalized as a block parameter when querying solidified data. (#6007, #6238, #6239)

  2. Limiting block range and sub-topic count when filtering logs by JSON-RPC APIs to be consistent with ETH. (#6271, #6275)

  3. Fix the issue where API eth_getLogs fails to retrieve data in the rare case of hash collision. (#6176)

  4. Add a validation check that ensures the payment address cannot be empty in the API of creating a shielded transaction. (#6174)

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


Science is organized knowledge. Wisdom is organized life.

---Immanuel Kant

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