Skip to content

Latest commit

 

History

History
554 lines (449 loc) · 42.6 KB

CHANGELOG.md

File metadata and controls

554 lines (449 loc) · 42.6 KB

Changelog

1.6.0 (2024-11-14)

Feat

  • grpc: add bls public key and signature aggregate methods (#1587)
  • wallet: create single ed25519 reward address for all validators (#1570)
  • gtk: add fee entry for transfer, bond and withdraw (#1575)
  • txpool: add consumptional fee model (#1572)
  • txpool: calculate consumption when committing a new block (#1554)
  • sync: add metric to track the network activity (#1552)
  • wallet: add wallet service API (#1548)
  • config: add consumption fee configs (#1547)

Fix

  • config: update TOML parser (#1592)
  • gtk: prevent duplicate address on enter signal in create modal (#1590)
  • txpool, cmd, gtk: broadcast transactions with zero fee (#1589)
  • consensus: send decided vote for previous round on query vote (#1567)
  • grpc: get tx pool content filter by payload type (#1581)
  • wallet, cmd: add support for importing Ed25519 private keys (#1584)
  • gtk: change transactions to transaction in tx link (#1580)
  • grpc: set Bond public key for decoded transaction (#1577)
  • other: add varnamelen linter to improve name convention (#1568)
  • grpc: encode data and signature properly (#1538)
  • gtk: change some text in GUI and pruned position (#1536)

Refactor

  • cmd: get first account address from wallet as reward address (#1594)
  • grpc: revert GetRawTransfer method and undo deprecation (#1560)
  • crypto: define SerializeSize for PublicKey and Signature (#1534)

1.5.0 (2024-10-08)

Feat

  • cmd: pactus-wallet add info commands (#1496)
  • state: enable Ed25519 for the Testnet (#1497)
  • gtk: support create Ed25519 in gtk (#1489)
  • grpc: add Ed25519 to AddressType proto (#1492)
  • wallet: upgrade wallet (#1491)
  • wallet: supporting Ed25519 curve in wallet (#1484)
  • grpc: add Proposal to ConsensusInfo API (#1469)
  • crypto: supporting ed25519 (#1481)
  • gtk: adding IsPrune to node widget (#1470)
  • daemon: warn at pruning a prune node attempt (#1471)
  • genesis: separating chain param from genesis param (#1463)
  • cmd: pactus-shell support interactive shell (#1460)

Fix

  • gtk: increase window width to show availability score (#1529)
  • state: set hard-fork height for the mainnet (#1528)
  • wallet: change to prompt password for masking (#1527)
  • deps: go version docker image to build go v1.23.2 (#1522)
  • network: close stream on timeout (#1520)
  • http: add pprof link in http web interface (#1518)
  • sync: close stream on read error (#1519)
  • sync: set last support version to 1.5.0 (#1517)
  • http: pprof in http server (#1515)
  • cmd: add flag debug to enable pprof (#1512)
  • cmd: add pprof as default in http server (#1511)
  • grpc: merge raw transaction methods to one rpc method (#1500)
  • wallet, cmd: adding ed25519_account in help and set as default (#1485)
  • wallet: add memo in confirmation wallet CLI (#1499)
  • store: cache Ed25519 Public Keys (#1495)
  • grpc: adding pyi files for python generated files (#1479)
  • grpc: change enum type to numeric for documentation (#1474)
  • shell: stop showing usage on error (#1467)
  • util: chunked download to improve download speed (#1459)
  • gtk: width size of listbox and download button (#1434)
  • grpc: add example json-rpc in generated doc (#1461)
  • grpc: add basic check for grpc configuration to check basic auth (#1455)
  • util: remove util.Now helper function (#1442)

Refactor

  • crypto: replace bls12-381 kilic with gnark (#1510)
  • crypto: define errors for crypto package (#1507)
  • sync: define errors for sync package (#1504)
  • types: define errors for vote package (#1503)
  • state: define errors for state package (#1457)
  • util: remove GenericError code (#1454)
  • types: using options pattern for memo parameter on new tx functions (#1443)

1.4.0 (2024-08-01)

Feat

  • cmd: add node type page to the startup assistant (#1431)
  • grpc: adding is-pruned and pruning-height to blockchain info API (#1420)
  • daemon: add import command to download pruned snapshots (#1424)
  • util: file downloader with verify sha256 hash (#1422)
  • sync: define full and prune service (#1412)
  • pip: implement PIP-23 (#1397)
  • firewall: check valid gossip and stream messages (#1402)
  • state: prune block on commit (#1404)
  • core: pruning client by prune command (#1400)
  • store: prune block function (#1399)
  • wallet: add timeout client connection (#1396)
  • add backup tool script (#1373)

Fix

  • consensus: handle query for decided proposal (#1438)
  • gtk: solve dynamic library dependencies and import path on macOS (#1435)
  • cmd: prevent sudden crash on download error (#1432)
  • store: pruning height returns zero when store is not in prune mode (#1430)
  • grpc: add last-block-time to blockchain-info API (#1428)
  • grpc: show negative pruning height when is pruned false (#1429)
  • sync: fix syncing issue on prune mode (#1415)
  • grpc: return error on invalid arguments for VerifyMessage (#1411)
  • network: accept messages originating from self (#1408)
  • change wallet rpc ip to dns address (#1398)
  • pactus-shell: pactus shell support basic auth (#1384)
  • gui: support ctrl+c for interrupt gui (#1385)
  • grpc: add basic auth in swagger header (#1383)

Refactor

  • execution: simplify executors and tests (#1425)

1.3.0 (2024-06-27)

Feat

  • grpc: get txpool content API (#1364)
  • network: permanent peer store (#1354)

Fix

  • grpc: change bytes type to hex string (#1371)
  • http: add basic auth middleware for http server (#1372)
  • network: use goroutines for sending streams (#1365)

1.2.0 (2024-06-20)

Feat

  • config: make minimum fee configurable (#1349)
  • apply rate limit for the network topics (#1332)
  • add ipblocker package (#1323)
  • consensus: fast consensus path implementation (#1253)
  • version: add alias to node version (#1281)
  • ntp: add ntp util (#1274)
  • gRPC: add connection info to node info (#1273)
  • gRPC: add only_connected parameter to getNetworkInfo API (#1264)
  • grpc: refactor CreateWallet and add RestoreWallet API endpoint (#1256)
  • add wallet service (#1241)
  • ban attacker validators (#1235)
  • txpool: prevent spamming transactions by defining a minimum value (#1233)
  • reject direct message from non-supporting agents (#1225)

Fix

  • wallet: add public key on get new address (#1350)
  • sync: add IsBannedAddress check in processing connect event (#1347)
  • sync: update latest supporting version (#1336)
  • state: improve node startup by optimizing availability score calculation (#1338)
  • HTTP: add clock offset and connection info to node-info API (#1334)
  • grpc: add stacktrace to locate panic (#1333)
  • consensus: implement PIP-26 (#1331)
  • grpc: improve grpc server and client (#1330)
  • util: add more ntp pool (#1328)
  • jsonrpc: update JSON-RPC Gateway to support headers and improve client registry (#1327)
  • consensus: improve consensus alghorithm (#1329)
  • txpool: set fix fee of 0.1 PAC for transactions (#1320)
  • network: add block and transaction topics (#1319)
  • gRPC: prevent concurrent map iteration and map write (#1279)
  • api: add swagger schemes (#1270)
  • network: set infinite limit for resource manager (#1261)
  • sync: introduce session manager (#1257)
  • HTTP: using amount type for fee in transaction details (#1255)
  • network: disconnect from peers that has no protocol (#1243)
  • wallet: saving wallet file after generating new address in gRPC (#1236)
  • prevent zero stake for bond transactions (#1227)
  • set bounding interval for first boudning tx only (#1224)

Refactor

  • wallet: set server address on loading wallet (#1348)
  • removed deprecated LockWallet and UnLockWallet from WalletService (#1343)
  • crypto: decode data to point on verification (#1339)
  • network: define connection info in network proto (#1297)
  • sync: define peer package (#1271)
  • network: refactor peer manager and redefine the min cons (#1259)

1.1.0 (2024-04-14)

Feat

  • gRPC: add get address history method (#1206)
  • grpc: Add GetNewAddress/GetTotalBalance endpoint to gateway (#1197)
  • GUI: adding total balance to wallet widget (#1194)
  • Add GetNewAddress gRPC API (#1193)
  • gRPC: add new API to get the total balance of wallet (#1190)
  • GUI: showing transaction hash after broadcasting transaction (#1187)
  • add jsonrpc gateway support (#1183)
  • config: one reward address in config for all validators (#1178)
  • GUI: memo field for transactions on GUI wallet (#1182)
  • implement basic auth for pactus shell (#1177)
  • grpc: add rust code gen for proto (#1151)
  • testnet: define permanent Testent genesis (#1173)
  • add basic auth authentication for securing grpc (#1162)
  • grpc: calculate fee for create-raw-transaction APIs (#1159)
  • grpc: add fixed-amount to calc-fee API (#1146)
  • wallet: adding all account address functions (#1128)
  • grpc: update swagger API to version 1.1 (#1106)
  • GUI: adding availability score in wallet (#1118)
  • logger: adding log target (#1122)
  • logger: adding file_only option (#1117)
  • gui: add connections and moniker fields to main windows (#1090)
  • implementation for PIP-22 (#1067)
  • generate documentation for proto files (#1064)
  • pactus-ctl (#946)

Fix

  • cmd: ignore error on balance query (#1220)
  • gRPC: add basic auth option in header (#1217)
  • gRPC: not return block data on information verbosity (#1212)
  • wallet: fix wallet conn issue (#1211)
  • GUI: update total balance on wallet timeout (#1204)
  • accept small bond to existing validator (#1152)
  • GUI: make transaction hash selactable (#1196)
  • close connections with peers that have no supported protocol (#1181)
  • sync: check the start block request height (#1176)
  • config: load logger levels in Mainnet config (#1168)
  • gRPC: pactus swagger not found (#1163)
  • add error type for invalid configs (#1153)
  • save Mainnet config with inline comments (#1143)
  • network: set deadline for streams (#1149)
  • grpc: fix error 404 on grpc gateway (#1144)
  • wallet: checking args in history add (#1141)
  • gRPC: adding sign raw transaction API to gateway (#1116)
  • sync: fix concurrent map read-write crash (#1112)
  • network: remove disconnected peers from peerMgr (#1110)
  • network: set dial and accept limit in connection gater (#1089)
  • stderr logger in windows os (#1081)
  • sync: improve syncing process (#1087)
  • network: redefine resource limits (#1086)

Refactor

  • sync: improve syncing process (#1207)
  • move fee calculation logic to execution package (#1195)
  • introduce Amount data type for converting PAC units (#1174)
  • using PAC instead of atomic units for external input/outputs (#1161)
  • change func() to cancel func type (#1142)

1.0.0 (2024-01-31)

Feat

  • implement get validator address for grpc (#975)
  • add bootstrap.json and load in config on build (#964)
  • add mainnet config and genesis files (#951)
  • add Consensus-address to network info (#952)
  • grpc: sign transaction using wallet client (#945)
  • pactus gui lock support (#947)
  • consensus: turning consensus to a zero-config module (#942)

Fix

  • localnet wallet issue (#970)
  • sync: remove ReachabilityStatus from agent info (#956)
  • daemon: keeping previous behavior for password flag, linting CLI messages (#950)
  • consensus: detect if the system time is behind the network (#939)

0.20.0 (2024-01-11)

Feat

  • implement relay service (#931)
  • HTTP: Integrate AddRowDouble and update tests (#926)
  • network: making listen address private in config (#921)
  • http: adding AvailabilityScore to http module (#917)
  • network: adding 'enable_udp' config (#918)
  • network: removing gossip node service (#916)
  • gRPC: adding AvailabilityScore to gRPC (#910)
  • GUI: unbond and withdraw transaction dialogs (#908)

Fix

  • gRPC: adding missing get raw transaction APIs to gRPC gateway (#925)
  • network: preventing self dial (#924)
  • fixing time lag on starting node (#923)
  • network: fixing network deadlock on linux arm64 (#922)
  • GUI: updating unbond and withdraw dialogs (#911)
  • fixing gRPC node info issue (#906)

0.19.0 (2024-01-04)

Feat

  • gRPC: defining network and peers info response's properly (#898)
  • implementing pip-19 (#899)
  • network: disabling GosipSub, only FloodSub (#895)
  • www: adding change proposer round and value to consensus info votes (#892)
  • network: adding relay service to dial relay nodes (#887)
  • implementing pip-15 (#843)
  • check already running by lock file (#871)

Fix

  • store: use cache to check if public key exists (#902)
  • executor: not rejecting bond transaction for bootstrap validator (#901)
  • GUI: removing unnecessary tags in transaction confirm dialog (#893)
  • network: close relay connection for public node (#891)
  • network: refining GossipSubParams for Gossiper node (#882)
  • sync: adding sequence number to the bundle (#881)
  • network: turn off mesh for gossiper node (#880)
  • consensus: check voteset for CP strong termination (#879)
  • adding querier to query messages (#878)
  • execution: fixing issue #869 (#870)
  • fixing logger issue on rotating log file (#859)

0.18.0 (2023-12-11)

Feat

  • implement pip-14 (#841)
  • sort wallet addresses (#836)
  • grpc: endpoints for creating raw transaction (#838)
  • network reachability API (#834)
  • implement pip-13 (#835)
  • subscribing to libp2p eventbus (#831)
  • implement helper methods for wallet address path (#830)
  • logger: adding rotate log file after days, compress and max backups for logger config (#822)
  • enable bandwidth router metric (#819)

Fix

  • network: refining the connection limit (#849)
  • corrected mistake when retrieving the reward address (#848)
  • config: restore default config when it is deleted (#847)
  • cmd: changing home directory for root users (#846)
  • removing BasicCheck for hash (#845)
  • disabling libp2p ping protocol (#844)
  • build docker file (#839)
  • sync: ignore publishing a block if it is received before (#829)
  • network: subscribing to the Libp2p event bus (#828)
  • sync: ignore block request if blocks are already inside the cache (#817)

0.17.0 (2023-11-12)

Feat

  • network: default configs for bootstrap and relay peers (#812)
  • introducing node gossip type (#811)
  • sync: adding remote address to the peer info (#804)
  • network: adding public address to factory (#795)
  • network: filter private ips (#793)

Fix

  • upgrading Testnet (#814)
  • sync: prevent opening sessions indefinitely (#813)
  • execution: fixing mistake on calculating unbonded power (#806)
  • network: check connection threshold on gater (#803)
  • network: no transient connection (#799)
  • not close connection for bootstrap nodes (#792)

Refactor

  • sync: refactoring sync process (#807)

0.16.0 (2023-10-29)

Feat

  • gui: display network ID (#780)
  • create new validator address (CLI and GUI) (#757)
  • add community bootstrap nodes to testnet config (#764)
  • network: implementing connection manager (#773)
  • network: adding bootstrapper mode to the network config (#760)

Fix

  • network: redefine the network limits (#788)
  • consensus: not increase the vote-box power on duplicated votes (#785)
  • network: close connection when unbale to get supported protocols (#781)
  • network: enabling peer exchange for bootstrappers (#779)
  • network: set connection limit for the resource manager (#775)
  • sync: peer status set to known on sucessfull handshaking (#774)
  • consensus: strong termination for the binary agreement (#765)
  • consensus: not increase the voting power on duplicated binary votes (#762)

Refactor

  • network: refactoring peer manager (#787)

0.15.0 (2023-10-15)

Feat

  • gui: adding the splash screen (#743)
  • add absentees votes to the certificate (#746)
  • logger: short stringer for loggers (#732)
  • implementing pip-7 (#731)
  • implementing pip-11 (#712)
  • implementing pip-8 (#711)
  • implementing pip-9 (#706)
  • new API to get Public key by address (#704)
  • Adding address field for AccountInfo (#703)
  • CreateValidatorEvent and CreateAccountEvent for nanomsg (#702)
  • implementing PIP-2 and PIP-3 (#699)
  • Adding Hole Punching to network (#697)
  • write logs into file (#673)
  • check protocol support before sending connect/disconnect event (#683)
  • updating genesis for pre-testnet-2 (#679)
  • adding udp protocol for network (#672)
  • implementing pip-4 (#671)
  • Notifee service events (#628)
  • adding MinimumStake parameter (#574)
  • adding Sent and Received bytes per message metrics for peers (#618)
  • add reason to BlockResponse messages (#607)
  • Add CalcualteFee in GRPC (#601)
  • add sent bytes and received bytes metrics to peerset plus update grpc (#606)
  • added metrics of libp2p with supporting prometheus (#588)
  • Check node address is valid (#565)
  • add LastSent and LastReceived properties to peer (#569)

Fix

  • data race issue on updating certificate (#747)
  • network: async connection (#744)
  • adding query vote timer for CP phase (#738)
  • trim transactions in proposed block (#737)
  • fixing query votes and proposal issue (#736)
  • fixing issue when a block has max transactions (#735)
  • consensus: anti-entroy mechanism for the consensus (#734)
  • logger: invalid level parsing error (#733)
  • cache certificate by height (#730)
  • fixing a crash on consensus (#729)
  • consensus: prevent double entry in new height (#728)
  • resolve consensus halt caused by time discrepancy in network. (#727)
  • unsorted addresses in wallet listing (#721)
  • send query votes message, if there is no proposal yet (#723)
  • fixing logger level issue (#722)
  • fixing syncing stuck issue (#720)
  • fixing some minor issues on pre-testnet (#719)
  • supporting go version 1.21 and higher (#692)
  • ensure log rotation using tests (#693)
  • restoring at the first block (#691)
  • swagger doesn't work with multiple proto files (#687)
  • fixing wallet-cli issues (#686)
  • prevent stripping public key for subsidy transactions (#678)
  • updating the consensus protocol (#668)
  • aggregating signature for hello message (#640)
  • error case for logger (#634)
  • adding committers to the certificate (#623)
  • updating sortition executor (#608)
  • update buf and fixing proto generation issue (#600)
  • adding block hash to peer (#584)
  • copy to clipboard option for address and pubkey (#583)
  • public key aggregate (#576)
  • remove GetValidators rpc method (#573)
  • missing swagger ui for grpc get account by number (#564)
  • incorrect handler for validator by number (#563)

Refactor

  • sync: refactoring syncing process (#676)
  • remove payload prefix from payload transaction type (#669)
  • change Hello message from broadcasting to direct messaging (#665)
  • committee: using generic list for validators (#667)
  • rename SanityCheck to BasicCheck (#643)
  • cli: Migrating from mow.cli to cobra for wallet (#629)
  • cli: replacing mow.cli with cobra for daemon (#621)
  • logger: using fast JSON logger (zerolog) (#613)
  • Using Generics for calculating Min and Max for numeric type #604 (#609)
  • Updating LRU cache to version 2 #514 (#602)

0.13.0 (2023-06-30)

Fix

  • implemented restore wallet base on input seed (#553)
  • measuring total sent and received bytes (#552)
  • add validate seed and restore wallet (#533)
  • HTTP: Missing handlers (#549)
  • gui: update about dialog and menu items in help (#532)

Refactor

  • implementing TestSuite (#535)

0.12.0 (2023-06-19)

Feat

  • add GetAccountByNumber API to get account by number (#511)

Fix

  • caching account and validator in store (#513)
  • get recent blocks by stamp (#509)
  • closing the mDNS connection upon stopping the network (#508)
  • updating linkedmap to use generic (#507)
  • removing state from cache (#506)
  • Typo in GUI (#499)
  • supporting localnet (#492)

Refactor

  • update total power calculation based on power change(deltas) (#518)
  • GetValidators return all validators in state validators map (#512)

0.11.0 (2023-05-29)

Fix

  • gui: showing the total number of validators (#474)
  • network: fixing relay connection issue (#475)
  • consensus: rejecting vote with round numbers exceeding the limit (#466)
  • increase failed counter when stream got error (#489)
  • boosting syncing process (#482)
  • waiting for proposal in pre-commit phase (#486)
  • retrieving public key from wallet for bond transactions (#485)
  • restoring config file to the default (#484)
  • defining ChainType in genesis to detect the type of network (#483)
  • reducing the default Argon2d to consume less memory (#480)
  • adding password option to the start commands (#473)

Refactor

  • rename send to transfer. (#469)

0.10.0 (2023-05-09)

Feat

  • removing address from account (#454)
  • supporting multiple consensus instances (#450)
  • adding sortition interval to the parameters (#442)

Fix

  • GetBlockchainInfo API in gRPC now returns the total number of validators and accounts
  • gui: check if the node has an active consensus instance (#458)
  • wallet path as argument (#455)
  • adding reward addresses to config (#453)
  • removing committers from the certificate hash (#444)
  • prevent data race conditions in committee (#452)
  • using 2^256 for the vrf denominator (#445)
  • updating tla+ readme (#443)

0.9.0 (2022-09-05)

No changelog