v3.4.3
- In
get_transfers
walletd
's method error is returned iffrom_height
is larger thanto_height
or top block height. WALLET_FILE_EXISTS (209)
is correctly returned whenwalletd
is instructed to overwrite an existing wallet.- Fixed a bug when wrong error message was displayed when passing some invalid addresses to
walletd
'screate_transaction
RPC method. - LMDB virtual memory usage by
bytecoind
andwalletd
reduced from fixed 512Gb to approx. actual blockchain database/wallet cache size. walletd
will not undo sync progress, if connected node is behind wallet state and behind latest hard checkpoint. It will wait for a node to advance to a checkpoint.- Wallet cache now takes much less space, especially for wallets with small number of transactions.
- For all TCP sockets
keep_alive
option is now set after they are created (with default timeouts for each system, common value is 2 hours), solving very rare bug when there would be no reply to long poll ever for external services (like block explorers) calling from remote machines. - All paths now subject to substitution of
~
(Mac & Linux) and%appdata%
(Windows). Also, on Linux and Max backslash is no more considered path separator.
API tweaks
- JSON numbers are interpreted according to spec throughout API, for example 10.01E2 is now good value for height (1001). This helps integration with some weird languages.
- Better error messages throughout API when required parameters are not specified.
- More strict JSON RPC - excess fields on top level are no more allowed in requests.
bytecoind
's binary version ofsync_blocks
now uses separate zero overhead response to save traffic during sync.
Incompatible API changes
bytecoind
'sgetblocktemplate
,submitblock
and JSON versions ofsync_blocks
andsync_mempool
now require private authorization. This helps with preventing excess load on public nodes.- deprecated field
outs_count
inbytecoind.get_random_outputs
removed.