Skip to content
Pre-release

@shuse2 shuse2 released this Jun 24, 2019 · 158 commits to release/2.0.0 since this release

Change Log

v2.0.0-alpha.12 (2019-06-24)

Full Changelog

API breaking changes

  • Removed unconfirmedBalance from api/accounts and /accounts/{address}/multisignature_groups (#3183)
  • Change transactions property of node/status endpoint and /node/transactions/{state} from unconfirmed/unsigned/unprocessed to ready/pending/verified/validated/received (#3609)
  • API response returns array of errors instead of single error (#3152)

Other breaking changes

  • Logging system changed (#2148)
  • Configuration files are now per module (#2577)

Soft fork related changes

  • Transaction type 5 (DAPP) is disabled. (#3104)
  • We are not allowing for conflicting transaction to be included in the same block (as explained in #2209)

Closed issues:

  • API /api/node/constants missing build field #3848
  • Node upgrade failed due to schema validation errors #3844
  • Not all transactions are queued for broadcast #3809
  • Lisk Core 2.0.0 API performance degrade #3800
  • Lisk 2.0.0 protocol rejects with incompatible protocol version for nodes with version <= 1.4.1 #3799
  • Refine the Readme phrases #3796
  • Network module should ignore peers for consensus while sycing to network #3786
  • getTransactionFromNetwork does not serialize the transaction input #3738
  • Transaction pool doesn't respect maxTransactionsPerQueue limit #3732
  • Transactions type 4 are not propagated through the network #3728
  • Blockchain verification process should not connect to network #3723
  • Add default create values account state store asset #3715
  • Remove broadcastLimit property from chain and move to network module #3710
  • Fix application warnings #3704
  • Improve log level and log information #3703
  • Do not require nonce when broadcasting any object #3699
  • P2P does not consider broadcastLimit #3690
  • Confirmations value in block is NaN #3688
  • Failed to generate block within delegate slot due to Inadequate broadhash consensus #3687
  • commander core:install command hangs after installation #3676
  • Remove redundant handler check in Bus #3669
  • Rebuild/Verification failed for testnet and mainnet #3668
  • Update myself fails a lot because of invalid peer ip or port #3666
  • P2P errors while syncing with testnet #3651
  • Difficulty in testing lisk-core with local versions of lisk-sdk and lisk-framework #3645
  • Discovery is too reliant on seed peers #3643
  • Expose more util functions from lisk-transactions #3640
  • Benchmark transaction processing times #3627
  • Unprocessed transactions were not added to empty or non full blocks #3624
  • Redundant log info without any context #3623
  • Frequent API timeouts when running stress test #3622
  • Process status shows undefined in Lisk Application #3621
  • Node fail to sync when block contains multisignature transaction #3612
  • Name of unsigned transactions queue is misleading #3610
  • Update lisk-new-relic version #3608
  • Inconsistent cache behavior - error when cache enabled #3600
  • Update banner images #3596
  • getSignatures and getTransactions from the network is not working #3591
  • Transactions are not broadcasted after received by postTransactions #3588
  • API returns incorrect error for postTransactions #3586
  • Loader module does not have processTransactions module #3583
  • For future compatibility, we need to allow receiving RPCs and events on the outbound socket #3582
  • Check peer's blacklist before accepting an incoming connection #3581
  • Node doesn't sync with the network #3577
  • Small typo in the string of the receivedQueue constant #3576
  • Unstable broadhash consensus #3574
  • Remove the temporary "/lisk" directory #3572
  • Integration on lisk-p2p fails randomly #3549
  • Warning: A promise was created but was not returned from it #3546
  • The order of loading modules does not seems correct #3544
  • Pg-monitor doesn't show database level events in logs #3541
  • Transactions not being instantiated when receiving a block #3535
  • API node/status - invalid networkHeight #3533
  • API node/status transactions section given invalid results #3531
  • Test commander core commands #3516
  • Remove unnecessary dependency from framwork #3508
  • Remove unnecessary log from process transactions #3507
  • Missing values while saving peers to DB #3504
  • Application don't clean up properly on exit #3502
  • Remove network related config from Chain module #3484
  • Update network action/event name to be understandable channel name #3476
  • Passing ENV var via CLI does not work to modify app behavior #3475
  • Un-skip verify integration tests #3473
  • Update framework module info convention #3467
  • Update network config and update_config script accordingly #3466
  • Remove unused constants and files #3463
  • Add license header to new files #3462
  • Fee and Amount incorrectly set to 0 for validated transactions received from blocks #3457
  • Logging does not work for storage component #3455
  • Creating a duplicate database object for the same connection #3454
  • Export development helpers and samples from lisk-sdk #3441
  • App label validation fail when app.label is not given #3437
  • NewRelic does not show the proper network name #3435
  • Fix the update_config.js to point the right version of release for 2.0.0 #3432
  • Enable bootstrap --hoist option to speed up the build process #3425
  • Rename framework helper module to util to match with naming convention of other libraries #3424
  • Missing new exception keys in config #3419
  • Loader is trying to call non-existing function #3418
  • New network module receive connection id not match error alot #3417
  • Fix network test to be able to run after product merge #3408
  • Remove VError usage from elements #3406
  • Revisit skipped test in improve transaction processing efficiency #3404
  • Verify snapshot and sync for the mainnet #3403
  • Reference to application specific setting should be removed from framework #3402
  • Review prettier setting for overall SDK structure #3401
  • Jenkins should run network test in the framework #3397
  • Move the application-level project to TypeScript #3391
  • Provide a default database name of the Storage component #3385
  • Add how to setup development initially in README #3384
  • Add a script the start a sample application for test #3383
  • Fix tests in development branch #3375
  • Newrelic should be optional to run lisk core #3372
  • Framework is referencing the framework keyword itself #3366
  • P2P should not connect to itself #3364
  • Wrong reference of the version from lisk folder #3361
  • Commander tests failed after product merge #3360
  • Move Jenkins files to each appropriate folder #3354
  • Replace ASCII art with image file #3351
  • Jenkins for sdk need to be fixed according to the new structure #3350
  • Lisk Post SDK Fixes #3324
  • Multi-signature registration - Create member accounts #3313
  • Move exceptions.js file to be part of config.json to simplify config structure #3309
  • Expose a sample Genesis Block from Framework #3308
  • Add README for new lisk node commands #3314
  • Transaction timestamps should be checked against slotNumber #3297
  • Network tests fail when running more than 2 peers #3296
  • Error when syncing from scratch at processing genesis block #3292
  • Wrong options output parameter from api get peers #3291
  • Align node commands with latest Lisk changes #3315
  • Implement Unit tests for Chain module #3285
  • Restructure jest folder #3282
  • Restore logic of chain recover on sync #3281
  • Simplify the default value generation for all configurations #3273
  • Add lisk folder and move all of application related code #3270
  • Rename framework folder to core #3269
  • Fix Integration Tests for feature/improve_transaction_efficiency #3266
  • Adapt network module to use application state #3260
  • Remove snyk integration in favour of npm audit #3252
  • Implement design pattern for protocol change #3251
  • Functional test GET /accounts fails randomly #3249
  • Incorrect API responses during snapshotting #3235
  • Revise list of actions in the chain module #3230
  • Remove unconfirmed attributes for account in state store #3212
  • Rename application controller identifier "lisk" to "app" #3208
  • Remove invokeAsync() from controller and bus #3198
  • Make each component/module responsible for validation its configuration #3196
  • Node inspect can't be run with default child process #3193
  • All of the Error needs to converted to error object #3189
  • Add functionality for handling exceptions present in the blockchain #3181
  • Add test coverage chain module config using commander #3175
  • Use selected blockchain parameters from framework-level #3173
  • Create new package.json in application-level #3172
  • Create and use config.js script merging defaults and custom configuration #3171
  • Create README for the application-level folder #3163
  • Create README for the Lisk SDK #3162
  • Create README for framework #3161
  • Narrow the list of supported by framework network parameters #3160
  • Integrate constants.js into chain-specific configuration #3159
  • Improve module actions security #3154
  • Prepare README.md files describing the new repositories structure #3153
  • Change the API response to return an array of errors #3152
  • Implement LIP-0006 "Improve transaction processing efficiency" #3150
  • Improve the overall configuration #3149
  • Update packages versions #3147
  • Prepare file structure for Lisk application #3146
  • Move broadhash computation logic from applicationState.update() to chain module #3141
  • Jest Unit test creates wrong log folder structure #3139
  • Fix Unit Tests #3134
  • Rename -s/--snapshot cli parameter #3119
  • Add tests for file rounds_information.js and round_store.js #3107
  • Disable type 5 - "register dapp" transaction #3104
  • Change system component to application state #3036
  • Allow custom transactions to add custom info to accounts #3027
  • Temporarily skip failing tests in feature/improve_transactions_processing_efficiency #3026
  • Improve Lisk Framework UX #3022
  • Issue with account entity sql file #3009
  • Refactor undoing transactions and use the new StateStore and transactions library #3006
  • Merge development into feature branch #3000
  • Publish an event on the channel when the peerHeaders are updated in the System component #2997
  • Support ENV vars and command line arguments in application-level #2976
  • Update schema validation support for chain module on provided options #2959
  • Change "eslint" and "prettier --write" command order in .lintstagedrc.json #2952
  • Add schema validation support to storage component on provided options #2950
  • Add schema validation support to cache component on provided options #2947
  • Remove "save-prefix" from .npmrc file #2944
  • Move rounds related logic from account.merge function to rounds module. #2942
  • Add schema validation support to system component on provided options #2940
  • Update Account entity to insert/delete entries in dependent tables for memberPublicKeys and votedDelegatePublicKeys properties #2938
  • Application should not start without valid blockchain state #2923
  • Resolve inconsistency in migrations naming #2916
  • Solve warnings: "Creating a duplicate QueryFile object for the same file" #2911
  • Refactor validating transactions using elements transactions library #2905
  • Remove rimraf from package.json #2899
  • Add schema validation support to logger component on provided options #2898
  • Remove all the P2P related files from chain module #2883
  • Update DB to save existing peers #2882
  • Update consensus calculation to use network module and fix the tests #2881
  • Update node.js in http_api module to use network module and fix the tests #2880
  • Update api/peer endpoints to use the network module #2879
  • Update broadcaster to use network module and fix the tests #2878
  • Update transport module in chain to use network module and fix the tests #2877
  • Update loader module in chain to use network module and fix the tests #2875
  • Create new network module #2874
  • Integrate @liskhq/lisk-p2p module in chain module #2873
  • Invalid API Response for peers endpoint with sort by height desc #2861
  • Use transactions elements for validating new multisignature from API and peers #2859
  • Unconfirmed State Removal - modules/accounts shouldn't mutate unconfirmed state #2852
  • Unconfirmed State Removal - logic/account.js should not mutate unconfirmed fields when interacting with Account Entity #2851
  • Only accept integer range values for snapshotting rounds #2843
  • Remove implementation of all transaction types from logic folder #2835
  • Refactor fillPool mechanism to get processable transactions from the transaction pool's ready queue #2833
  • Expose functions from transaction pool module to get queued transactions #2832
  • Expose functions from transaction pool module to get multi-signature transactions #2830
  • Refactor transactions pool in lisk-core, and use transactions pool library #2829
  • Remove usages of applying transaction to unconfirmed state from the application #2828
  • Remove tables and columns related to unconfirmed state from the database #2827
  • Use transactions elements for validating schema when receiving a transaction from API and peers #2826
  • Refactor verifying multi-signatures for transactions and use the new StateStore and transactions library #2825
  • Refactor applying transactions and use the new StateStore and transactions library #2824
  • Refactor verifying transactions and use the new StateStore and transactions library #2823
  • Update checkTransactions function and use StateStore and lisk-element's transactions #2821
  • Implement StateStore for fetching accounts and transactions and saving updated accounts in the database #2820
  • Create Proxy class for initializing class instance of transactions defined in lisk-elements. #2819
  • Move Lisk-specific transaction types to application-level #2780
  • Refactor current config.json file to be structured in different chunks #2577
  • Improve logging system #2148
  • Fix the invalid filter for fetching dapp account in InTransfer Transaction #1223
  • Recipient account should be created in case it does not exist for OutTransfer transaction #1222
  • OutTransfer transaction should not fail if transaction with id provided in property "transactionId" already exists in the database #1219
  • Transaction validate incorrectly throws error from assetToBytes #1214
  • applyNodeInfo is not adding custom fields anymore #1209
  • Socket protocol error when trying to make outbound connections #1207
  • TransactionError in case of exceeding votes for VoteTransaction has invalid parameters #1206
  • Non required properties for transactions should be allowed to be null/undefined #1203
  • Vote transaction should not throw an error if recipientPublicKey is not preset #1201
  • The P2PPeerSelectionForSendRequest function should receive the current message/request packet as an argument #1200
  • getBytes function should take the first 8 bytes for recipientID if it exceeds uint8 size. #1198
  • Store blockchain specific properties in transaction instances #1197
  • PeekUntil and DequeueUntil does not return transactions in the correct order #1195
  • Multi-signature registration transaction without signatures should have status pending #1192
  • PeerPool should not respond to get peers list #1186
  • Update BigNum to use @liskhq/bignum #1182
  • Negative timestamp should be allowed in transaction #1179
  • UndoAsset for transactions should revert the properties instead of removing them #1177
  • Create addMultisignature function in BaseTransaction #1176
  • Add blockId property in base transaction #1173
  • Improve returned errors #1164
  • Adding signatures for a multisignature registration transaction from a second passphrase enabled account fails #1163
  • Transaction should accept null recipientId #1158
  • Transfer should accept undefined asset #1157
  • Transaction receiveAt doesn't match the input/output #1156
  • Cannot send request with rpc-timeout #1155
  • Add a function to connectAndFetch peers to be used in discovery process #1152
  • Dapp transaction should allow type parameter to either be 0 or 1. #1148
  • Second signature registration transaction should update secondSignature flag for account #1147
  • Transaction fee should not be overwritten in the constructor of transactions #1144
  • null recipientPublicKey should not fail validation #1142
  • Multisignature transaction sets property with incorrect casing for multiMin and multiLifetime when applying/undoing transaction. #1140
  • Add lisk-validator library to be used across products and libraries #1139
  • Need a function to resolve peers domain names to their IP addresses #1138
  • Check for network, version, protocol compatibility during handshake #1137
  • Remove babel and eslint setting and suffix and update init command #1133
  • Test custom peer selection in integration tests #1131
  • Allow selection function to use P2PDiscoveredPeerInfo #1130
  • Vote transaction should update the votedDelegatesPublicKeys property for account #1128
  • Multisignature transaction should update the memberPublicKeys property for account #1125
  • Multisignature registration transaction always fails with error: 'Account is not a multisignature' #1122
  • lisk-transaction:validation:schema senderId, recipientId are not required and senderSecondPublicKey is an invalid property #1121
  • Make sure that all P2PNodeInfo/peerHeaders has an options object to support custom properties #1115
  • Cryptography library test are frequently failing #1114
  • Pass peer selection algorithm as an argument to p2p constructor #1113
  • Disallow null character on transfer and dapp transaction #1108
  • Multisignature registration tx not properly pending #1106
  • Transaction returns incorrect error when sender does not have enough balance #1105
  • P2P Integration test randomly fail #1103
  • Add publicKey from sender if it doesn't exist in account #1099
  • Transaction constructor with fee and amount as type numbers should be accepted #1096
  • verifyMultisignatures should fail if account is not multi-signature account but has signatures #1092
  • Add getOrDefault for StateStore.account #1091
  • Add no additional asset properties check for transaction asset field #1090
  • Disconnect old peers, cleanup node and improve timeouts #1086
  • Add stubbing for StateStore tests #1084
  • Need to handle inbound status RPC request #1082
  • Receiving blocks, transactions and signatures from v1 lisk core #1081
  • Implement .toString() function for TransactionError and TransactionMultiError #1080
  • Hoist Dependencies #1079
  • Fix compatibility issues with Core v1.x version #1077
  • Update the name of abstract functions #1073
  • Update P2P header should include options #1071
  • Update ProtocolPeerInfo format #1070
  • Clean up file structure and name in transaction module #1063
  • Update dev-dependencies and check hoisted #1062
  • Fix package-lock.json for lisk-transactions #1060
  • Change selectPeers function to only handle detailed PeerInfo objects; not live Peer objects #1059
  • The P2P class should not interact directly with Peer instances #1058
  • Remove fromJSON and create function from custom transaction #1057
  • Need a separate peer info interface for basic and detailed peers info #1055
  • Combine validate and validateSchema #1052
  • Remove processRequiredState from transaction #1051
  • Combine apply and verify function #1050
  • Remove unused functions from transactions #1046
  • Add missing unit tests for custom errors in lisk-p2p #1043
  • Add missing unit tests of validation in lisk-p2p #1038
  • Fix typo in transaction pool #1034
  • Calling wrong function in custom transactions #1033
  • Skip Fully connected network integration test and enable Disconnected network test #1031
  • Transaction branch is failing on the build/test #1025
  • Move peer discovery and peer connection related stuff to peer pool #1019
  • Add functions in sanitization to handler ProtocolRPCRequest and ProtocolMessage #1017
  • Create event emitters on adding and removing of transactions for transaction pool #1013
  • Remove local definition of socketcluster-server for close() method #1010
  • Implement Peer connect and event handling for connectAbort and connect #1008
  • Add separate functions to drop inbound and outbound connections #1005
  • Add Socket.destroy() definition and use it instead of disconnect() #1004
  • Add integration tests for lisk-transaction-pool #1001
  • Fix linting errors in transaction-pool module #999
  • Add sign method in base transaction #997
  • Update base transaction constructor to accept without id or signature #995
  • Use selection algorithm in PeerPool to select peers for send or request #992
  • Remove asset field from base transaction #989
  • Remove a getters for sockets in Peer class #987
  • Implement P2P.getNetworkStatus() functionality #985
  • Implement handling of pending signatures and incoming new signatures to multisignature verification flow #982
  • Request status and apply status on peer #981
  • Implement p2p level send and request methods #980
  • Use discoverPeers function in p2p for discovery #979
  • Use selectForConnection in P2P #978
  • Update getRequiredAttributes function in BaseTransaction #975
  • Integration tests are not properly terminated #973
  • Make current integration tests pass #971
  • Use socket cluster types definitions #969
  • Add functionality for getting processable transactions #964
  • Fix the bug in verifying validated transactions #963
  • Timeout for tests on Jenkins #960
  • Cleaner separation of different kinds of logic for lisk-p2p #958
  • Update tests for Base Transaction Class #956
  • Fetch Peers method in Peer class to get all the peers #954
  • Add integration tests for discovery for lisk-p2p #953
  • new crypto method "getAddressFromPrivateKey" #952
  • Add Base Transaction isExpired #947
  • Add Base Transaction undo #946
  • Add Base Transaction apply #945
  • Add Base Transaction checkTypes #944
  • Add Base Transaction verify #943
  • Add Base Transaction validate #942
  • Add Base Transaction checkSchema #941
  • Add validation for unknown types in p2p #938
  • Add metrics to calculate the performance of transaction pool #937
  • Consider disabling esModuleInterop #933
  • Add connect/disconnect function to peer #932
  • Add selectForConnection function to P2P #931
  • Select peers doesn't always give 'n' number of peers requested #925
  • Update to Node.js 8.14.0; use 'npm ci' #921
  • Remove unused Jenkinsfile #920
  • Define socket cluster types #918
  • Add higher order filter functions for queues in transaction pool #911
  • Add black/white/fixed listing for p2p initialization #899
  • Add send/request data mechanism #897
  • Add receive data and handle response mechanism #896
  • Add initialization function, constructor, start() and stop() #895
  • Add peer management mechanism #894
  • Add basic discovery algorithm for lisk-p2p #893
  • Add foundation of network testing for lisk-p2p #892
  • Add peer selection algorithm for lisk-p2p #891
  • Create package and setup boilerplate for lisk-p2p #890
  • Add OutTransfer Transactions class #889
  • Add InTransferTransaction class #888
  • Add DappTransaction class #887
  • Add MultiSignatureTransaction class #886
  • Add VoteTransaction class #885
  • Add DelegateTransaction class #884
  • Add SecondSignatureTransaction class #883
  • Add TransferTransaction class #882
  • Add functionality to process transactions in transaction pool #881
  • Add functionality to verify transactions in transaction pool #880
  • Add functionality to validate transactions in transaction pool #879
  • Add functionality to enqueue transaction from a peer #878
  • Add functionality to enqueue transaction from a client #877
  • Add functionality to handle multi-signature transaction in transaction pool #876
  • Add functionality to expire transactions in transaction pool #875
  • Add BaseTransaction implementation #874
  • Define listeners for transaction pool related events #873
  • Add functionality to move transaction between queues for transaction pool #872
  • Add data structure for queues and corresponding hashmaps for transaction pool #871
  • Create package and setup boilerplate for lisk-transaction-pool #870
  • Improve node management terminology / description #705
  • Add unit tests for src/utils/node #703
  • Improve UX of node management commands #700
  • Improve Lister UI presentation #699
  • Add node:logs command #692
  • Add node:migrate command #691
  • Add node:upgrade command #690
  • Add node:status command #689
  • Add node:list command #688
  • Add node:stop command #687
  • Add node:start command #686
  • Add node:uninstall command #685
  • Add node:install command #684

Merged pull requests:

Assets 2
You can’t perform that action at this time.