8.7 KiB
Bcoin Release Notes & Changelog
v1.0.0-beta.14
Notable Changes
- pkg - Ignored
bcoin*files in npmignore have been removed. This fixes the npm install.
v1.0.0-beta.13
Notable Changes
-
config - Options using megabyte units are now calculated properly again (
6182df0442,a630d23a97,7728a00470). -
address - Bech32 addresses are now supported (
6acef06cbc). This changes the semantics of theAddressobject: to support bech32,Address.fromBase58calls should be replaced withAddress.fromString. Likewise,addr.toBase58calls should be replaced withaddr.toString -
rpc -
getblockbyheightis now exposed via JSON-RPC. It takes the same parameters as thegetblockcall, requiring a height instead of block hash (12d3ee6f95). -
bin -
bcoin --versionandbcoin --helpnow exit with appropriate messages (f2f94a800e). -
net - The p2p pool now exposes an
--onlyoption (a1d0948f2e). -
mempool - The mempool
indexAddressoption should now work correctly (fba9b46d25). -
rpc - JSON-RPC calls now properly cast booleans a la bitcoin core (
dd49ee0761). -
rpc - Various RPC calls have been improved and updated (
c78707ed6a,c1e684dc12,5bde338a53). -
rpc - Retroactive pruning is now available via the
pruneblockchaincall (f0bc6d5925). -
http - Getting block by height via the Rest API now works again (
df4c8cc68c). -
net - Peers who serve invalid orphans are now punished properly (
0ceca23cb5). -
utils - An implementation of GCS filters is now supported (
b994c278f2). -
http - The
witnessoption is now properly exposed on the Rest API for segwit wallets (f04ad612b2). -
deps - Node.js >=v7.6.0 is now a required dependency (
a0bd9680fe). -
build - The browser build has switched from browserify to webpack (
19f236f740). -
bcoin - The codebase has been rewritten to use all ES6 and ES7 features supported by node.js (
aa05bb5df7,78d62c73b8,e00472891d,c53f4cf89e,8c7279518f). -
workers - The worker pool has been refactored to solve the dissonance between the browser and node.js (
27c60ce76e). -
net - DNS requests should now timeout sooner (
647b6909c6). -
http - Satoshi values are now required for all JSON serialization, as opposed to BTC strings which were used in the past (
2f51fd1c50). -
bin - The
--no-walletflag is now exposed for nodes who want to run without a wallet. -
chain - BIP91 support is now exposed via the
--bip91option. Thesegwitandsegsignalrules will be automatically added when callinggetblocktemplate. To enable bip91 on an existing database--force-flagsmust be passed. This will force bip91 to be enforced, but will not invalidate any previous blocks (bcoin cli reset [height]may need to be used). -
chain - BIP148 support is now exposed via the
--bip148option. This likewise must be enabled with--force-flagson existing chains. This has the same potential "reset" implications as the--bip91option.
Migrating
This release contains a few non-backward-compatible changes.
Bcoin now requires node.js >=7.6.0 due to the use of ES6/7 features, and for the sake of more stability.
Bcoin's rest API now assumes satoshi values for in all JSON serialization. This is a breaking change for code that is not aware of it. All code which hits the rest API must be updated to use only satoshi values as opposed to BTC strings.
In other words, this:
{
"unconfirmed": "1.12",
"confirmed": "1.12"
}
Becomes this:
{
"unconfirmed": 112000000,
"confirmed": 112000000
}
v1.0.0-beta.12
Notable Changes
- networks - Fixed simnet wpkh prefix.
- http -
wallet joinwithout wallet auth has been fixed for responses. This was causing a hanging issue with the client.
v1.0.0-beta.11
Notable Changes
- networks - Simnet params have been fixed.
- cli - Chain reset call has been fixed.
v1.0.0-beta.10
Notable Changes
- wallet/http - Create wallet route modified
(
POST /wallet/:id?changed toPUT /wallet/:id). - wallet/http - Create account route modified
(
POST /wallet/:id/account/:account?changed toPUT /wallet/:id/account/:account). - wallet/http -
authsocket.io event name for wallet auth changed towallet auth. - config -
payout-addressoption was changed tocoinbase-address. - node - Plugin system is now exposed. See https://github.com/bcoin-org/bcoin/pull/156.
- config - The internal API for the config object has been rewritten and is now more reusable, particularly by node plugins.
- http/rpc - Both the HTTPBase and RPCBase objects now allow "mounting" by other rpc and http servers.
- wallet - The wallet code has been completely removed from the node, and now resides entirely within one module. The wallet is exposed only as a plugin or a separate server.
- rpc -
prioritisetransactionis now exposed properly (deltaFees are now tracked on mempool entries). - rpc - Proper
idand error codes are now implemented. - rpc - Several
getblocktemplateimprovements have been implemented for more accuracy. e.g.curtimewill now be updated each call. - mining - The internal miner API has been rewritten, and now mimics stratum in a sense.
- chain - Faster verification with checkpoints.
- net - Fixed a potential block stalling issue.
- net - Hardcoded seeds for main added. Makes for better shipping with browsers.
- wsproxy/proxysocket - DNS resolution is no longer exposed.
- logger - Log files now trim to 20mb on boot.
- hostlist - A persistent
hostsfile is now written by default.
v1.0.0-beta.9
Notable Changes
- mempool - Trimming now removes dependency chains by cumulative fee rate.
- mempool - Cumulative descendant fees are now updated properly when removing a transaction.
- net - Preliminary upnp support for adding port mappings.
- chain/mempool/miner - Various atomicity fixes and extra sanity checking.
- pool/peer - Peer height is now tracked and exposed on the RPC as
bestheight.
v1.0.0-beta.8
Notable Changes
- mempool - Fixed critical fee estimator bug causing throwing in the mempool.
v1.0.0-beta.7
Notable Changes
- http - Always display spent coins in tx routes (e.g.
/tx/[txid]). - mempool - An on-disk mempool is now exposed via
--persistent-mempool(also makes fee data persistent). - chain -
chain.addnow takes aflagsparameter to avoid POW and non-contextual checks if necessary. - net - HostList is now potentially persistent with a
hostLocationoption. - net - Smarter stall behavior and timeouts.
v1.0.0-beta.6
Notable Changes
- http - Better bitcoind compatability for JSON-RPC.
v1.0.0-beta.5
Notable Changes
- miner - Better fee rate comparisons.
- deps - Upgrade deps, fix build on arm and windows.
v1.0.0-beta.4
Notable Changes
- miner - Optimized TX sorting.
- rpc - Improved getblocktemplate to provide more accurate results to bitcoind.
v1.0.0-beta.3
Notable Changes
- miner - Improved fee rate sorting.
- rpc - Fix incompatibilities in rpc api (getblocktemplate & submitblock).
v1.0.0-beta.2
Notable Changes
- pool - Increase max header chain failures to 500 (prevents the initial sync from reverting to getblocks so frequently).
v1.0.0-beta.1
Notable Changes
- wsproxy: Fixed proof of work handling in websocket proxy (
43c491b). - chain: Optimized MTP and network target calculations (
1e07d1b). - wallet: Implemented "smart" coin selection (
304f0e7e). - protocol: Increased default network fees for main (
09c2357). - http: Fix for handling
DELETEhttp method (393dd5d). - miner: Improved handling of default reserved size and sigops (
f2964e0and7104e4c).
v1.0.0-beta
Notable Changes
- Initial tagged release.