v2.3.x (2021-05-06)
Bug fixes:
- Fixed the launching issue for macOS Big Sur
Enhancements:
- Migrated API specs to Open API 3.0
v2.2.x (2021-04-15)
This release brings in various bugfixes and enhancements to Semux Core.
Bug fixes:
- Fixed a bug which allows state change of failed transactions
Enhancements:
- Removed deprecated APIs and bumped the version to
v2.5.0
- Added more seed nodes
- Enabled
FAST_SYNC
by default - Added support for HiDPI displays
- Improved UX by merging Send and Smart Contract panels and simplifying HD initialization process
- Added support for configuring min tx gas price and max gas limit
Notably, this release introduces a new file layout:
/chaindata -> blockchain data
/wallet -> wallet data
/log -> application logs
It's recommended to do a full sync after upgrading.
v2.1.x (2019-09-10)
This release tries to fix several issues about the voting precompiled contracts. All nodes are required to upgrade.
NOTE: A softfork VOTING_PRECOMPILED_UPGRADE
is introduced.
Bug fixes:
- Fixed the traceability issue of vote/unvote calls (#249)
- Fixed the transaction result bug (#260)
- Fixed the local call bug (#257)
New features:
- API
- Bumped the version to
v2.4.0
- Deprecated
POST /transaction/raw
(#267) - Deprecated
POST /account
andDELETE /account
(#267) - Replaced
/call
with/local-call
(#267) - Added
/local-create
(#267) - Added
/broadcast-raw-transaction
(#267) - Added
/create-account
and/delete-account
(#267) - Added
/account/code
and/account/storage
(#266)
- Bumped the version to
- CLI
- Added a database re-index tool (#262)
v2.0.x (2019-08-25)
This release features the virtual machine hardfork and HD wallet.
NOTE: A softfork VIRTUAL_MACHINE
is introduced.
Bug fixes:
- Fixed a capacity codec bug in P2P handshake (#214)
- Fixed the invalid transaction results in database issue (#221)
- Fixed various EVM integration issues (#182, #183, #184, #190, #209, #210, #224, #229)
New features:
- Consensus
- Replaced the block size limit with a
20m
gas limit (#211, #213, #214)
- Replaced the block size limit with a
- Sync
- Added support for the experimental
FAST_SYNC
protocol (#155, #228, #232)
- Added support for the experimental
- Wallet
- Added support for HD wallet (#173, #174, #231)
- API
- Bumped the version to
v2.3.0
- Added
gas
andgasPrice
in theTransactionType
response (#226) - Added the
InternalTransactionType
(#188) - Updated the
/trasaction/create
and/trasaction/call
endpoints (#194) - Updated the
/compose-raw-transaction
endpoint (#195) - Updated the
/transaciton-result
endpoint (#219)
- Bumped the version to
- GUI
- Added support for quotes in console dialog (#203)
Enhancements:
- Updated docs (#156, #158, #193)
- Reset the
testnet
with new keys (#175, #176) - Packed JVM images in releases (#225)
- Added support for quotes in console dialog (#203)
v1.4.x (2019-04-22)
This release includes incremental improvements and bugfixes since last version. Major changes are the block rewards adjustment and virtual machine implementation (in place but not activated).
Bug fixes:
- Fix the 2/3 BFT quorum size rounding error (#134, #142)
- Start syncing when the number of connections is low (#130)
New features:
- Consensus
- Update the block reward function (#151)
- VM
- Introduce the VM fork signal (#67, #137, #139)
- Refactor transaction results (#77, #149)
- VM tests (#90, #97, #113, #114, #117, #112, #129, #140)
- Wallet
- HD wallet tests (#133, #132, #138)
- API
- Bump version to v2.2.0
- Remove
blockNumber
from*TransactionType
- Add
/transaction-result
endpoint for transaction result
- P2P
- Upgrade protocol to support light client (#146)
Enhancements:
- Fast block validation using batch validation (#150)
- Add
aarch64
native support (#89, #117) - Suggest use OpenJDK (#131)
- Update error messages and descriptions (#81, #79, #94, #103)
- Add empty password shortcut (#108)
- Update dependent libraries (#79, #141)
- Limit the number of validators on testnet (#123)
v1.3.x (2018-08-05)
This release fix the validator timestamp issue and introduces fast syncing.
Bug fixes:
- GUI
- Fixed the sender address order issue
- Tools
- Fixed windows unicode directories
Enhancements:
- Consensus
- Changed the creation of block proposal timestamp
- Introduced fast syncing
- Core
- Introduced NTP time adjustment
- Removed 32-bit system support
- API
- Removed API v1
- Net
- Added filter of duplicated transactions
v1.2.x (2018-05-25)
This release introduces Java 10 support plus a few API & documentation improvements for third-party service integration & light wallet implementation.
Bug fixes:
- Net
- Fixed a memory leak caused by connection limiter
- API 2.0.0
- Fixed a bug that
data
parameter was marked as required for making transactions in API v2.0.0 Swagger definition
- Fixed a bug that
- Consensus
- Fixed an issue that SemuxBFT reports a wrong fork activation height for a freshly synced client
- GUI
- Fixed an issue that long aliases can break rendering
New features:
- Add Java 10 Support
- Add API 2.1.0 based off API 2.0.0
- Add
DELETE /account?address
- Add
GET /account/votes?address
API - Add
GET /account/pending-transactions?address&from&to
API - Add
validator
flag toDelegateType
- Add
network
andcapabilities
into the response ofGET /info
API - Add an optional parameter
privateKey
toPOST /account
that enables consumers to import private keys - Add optional parameters
nonce
andvalidateNonce
to transaction ops that enables consumers to manage transaction nonces on client-side - Validate raw transaction passing in
POST /transaction/raw
- Change
fee
parameter from required to optional, default to minimum fee if omitted
- Add
- GUI
- Add a transaction filter on Transactions panel
- Add dropdown for selecting recipient on Send panel
- Consensus
- Add blockchain checkpoints
- Security
- Provide safe ways for automatic wallet unlock to address an issue that
--password
CLI option exposes wallet password to process explorer- environment variable:
SEMUX_WALLET_PASSWORD
- environment variable:
- Provide safe ways for automatic wallet unlock to address an issue that
Enhancements:
- GUI
- Rearrange sorting of delegate panel
- Reflect internal validator positions within 200-block round
- Prioritize registration block over delegate name
- Rearrange sorting of delegate panel
- Security
- Don't dump private key in log file on create
- Docs
- Add devnet doc and API base unit doc
- Add links to API clients
- Add links to delegate pools and block explorers
- Improve API descriptions and validation patterns in swagger definition
- Re-organize documentation
v1.1.x (2018-04-15)
This release contains bug fixes and enhancements.
A softfork UNIFORM_DISTRIBUTION
is introduced.
Bug fixes:
- GUI: Fix model refresh delay
- Consensus: Fix sync votes validation issue
Enhancements:
- Core: Change default POSIX permissions of wallet.data and config files to 600
- Docs: Basic introductions to Semux BFT consensus
- GUI: Inform user when a new version of Semux Wallet has been posted
- Docs: Move API documentation to https://semuxproject.github.io/semux-api-docs/
- API: Add API v2.0.0 and Swagger UI
- Crypto: Crypto function speed is improved ~70% by introducing libsodium & ripemd160 native implementation
- DB: Separate database from different network
- Util: Standardize system exit code
- Docs: Move wiki into the main repo to accept PRs on docs
- GUI: Add splash screen
- Consensus: Add memoization to Vote#validate to avoid repeated validations
- GUI: Add getBlockByNumber to console
- Core: Introduce
Amount
class to normalize units in source code - GUI: Use BigDecimal instead of double for correctness
- GUI: Refactor status bar
v1.0.x (2018-03-06)
This release contains bug fixes and enhancements.
Bug fixes:
- A validator node might stuck in sync process
- Consensus: Don't sync when a validator is in FINALIZE state
- Consensus: Fix unconditional wait of SemuxSync#isRunning
- API: Fix typos in API docs
- GUI: Dispose address book dialog when the wallet GUI is locked
- GUI: Import wallet imports addressbook too
- GUI: Focus text field on right click
- Net: Properly separate mainnet and testnet
- CLI: Flush async loggers in
Launcher
class
Enhancements:
- Add Java 9 Support
- GUI: Support customized based unit and show full digits by default
- GUI: Validate address alias length
- GUI: Clean up address label
- GUI: Update to new logo
- GUI: Render to highest precision
- GUI: Add Mnemonic Keys to the UI
- GUI: Added feedback for empty names on address book entries
- GUI: Add address book edit dialog
- GUI: Add InputDialog to Windows TaskBar
- GUI: Provide detailed tooltip for Data input
- GUI: Add prefix to address in generated QR Code
- GUI: Add a Title to Rename Account Dialog
- GUI: Add a Title to Import Dialog
- GUI: Add Semux Logo to About Dialog
- GUI: Add command console
- Consensus: Optimize transaction validation
- Config: Disallow default API username or password
- Net: Shuffle the list of nodes returned from GET_NODES message in order to balance the load on nodes
- Net: Add mainnet.semux.net as an alternative dns seed
- Net, Config: Allow for additional DNS seeds
- Core: Upgrade Leveldb From 1.8 to 1.18
- Core: Improve error reporting of UNVOTE transaction
- Core: Optimize wallet lookup
- API: Update error messages to be consistent
- API: Validate
hash
ongetBlock
calls - API: Add a parameter 'name' to
/create_account
- API: Add parameter descriptions
- API: Consistent error handling
- API: Pretty print API response when get parameter pretty=true
- API: Add sign/verify messages calls
- API: Add a data field
transactionCount
to the response of/get_account
API - API: Add data field TransactionType#blockNumber
- Tools: Upgrade Jackson to 2.9.4
- Windows: Detect Installation of Microsoft Visual C++ Redistributable Package Under Windows Platform