Upgrade Beryllium Bullet znám také jako v0.13.0.0 obsahuje následující změny, opravy a vylepšení:
- New Docker file for 64 bit Android
- Ledger code overhaul using HIDAPI
- Blackballing tool allows the wallet to avoid selecting known spent outputs in its rings
- Depends system to be used as a base for reproducible builds
- Generic M/N multisig with M < N-1
- Translation updates
- Non ASCII seed input for Windows
- The spend key is now optionally held encrypted in memory
- More memory wiping to avoid secret data lingering in memory
- Block and transaction notifcation system
- New set of DNSSEC supporting default DNS servers
- Support for DNSSEC keys rollover
- Many minor fixes from Coverity reports
- Memory containing secret data is now locked so it won't get swapped (Linux)
- Preliminary support for non-Ledger hardware wallets
- Fix for blockchain format conversion crash corner case
- Warn about old style unencrypted payment IDs usage
- Building now places objects/binaries in a separate directory for each branch
- Multi output bulletproofs
- Many bulletproof speedups
- Fake output selection improvements (mostly using a gamma distribution)
- monero-wallet-rpc now has a daemon mode
- Cryptonight variant 2
- Travis build bot
- Fixes for
--generate-from-json
using the wrong wallet filename - Build fixes for s390x, ARM, Android, Windows, Docker, FreeBSD
- Easier output splitting using sweep_* commands
- The blockchain db now stores prunable and unprunable data separately
- Keccak fix for big endian platforms
- New wallet creation height fix for when the daemon is not running
- New Keccak incremental update mode
- Removal of obsolete transfer_original code
- Transaction fees are now per byte, rather than per kilobyte
- Transaction fees and block size/weight limit now consider notional size ("weight") to account for non-size-linear verification time
- New update_available flag in get_info RPC
- Some minor ringct verification speedup
- Include cumulative difficulty in RPC block header data
- Blocks now have a max weight for a single transaction
- New expect and related objects
- NetBSD support
- Many more performance tests
- Remove tiny bias in random EC scalar generation
- Ring size is now fixed to 11 in the general case
- Performance tests can now report min, median and standard deviation
- Aligned memory allocator
- Terse mode for performance tests
- unbound and miniupnpc are now git submodules
- start_mining RPC now reports whether the daemon is already mining instead of a generic error
- Use more exploit mitigation build options where possible
- cmake >= 3.5 is now needed
- Network connections now bind to the correct IP
- Error out when
--wallet-file
and--wallet-dir
are both used at the same time - Daemon start time is now withheld when running with
--restricted-rpc
- New close_wallet RPC
- Fix for the wallet giving up scanning a transaction at the first invalid public key
- RPC password can now be set using the RPC_LOGIN environment variable
- simplewallet can now use a monero: URI directly
- cn_deserialize can now extract payment IDs from transactions
- The daemon now warns about performance if it detects the blockchain is on a rotating hard disk
- Fix seed usage on big endian platforms
- Compare secret keys in constant time
- New refresh wallet RPC
- Fix wallet going out of sync when it fails to parse a transaction
- Fix wallet failing to load after its internal cached hash chain goes out of sync
- Translation files are now handled when cross compiling
- Fix txpool code infinite loop if a database error occurs
- Speed up get_output_distribution a lot by caching data in the blockchain database
- Some HTTP parsing speedups
- New change_wallet_password RPC
- Block template caching for performance
- simplewallet now understands named priority levels, in additions to numbers
- Resize the blockchain more conservatively
- Fix earliest fork height caching in wallet
- Core dumps are now disabled in wallet release binaries since they would contain secret data
- The logger will now print to the console if the logger isn't live
- Sync blockchin based on bytes received, not blocks received, for better performance
- New codefresh pipeline
- New blockchain_depth and blockchain_ancestry statistics tools
- The wallet can now use a user defined number of Cryptonight rounds for its KDF
- simplewallet now warns about unrecoverable data when rescan_blockchain is run
- Fix for race in network connection shutdown
- Fix for simplewallet misreporting long times
- Fix sanity checking of update record hashes
- simplewallet now points out coinbase outputs in show_transfer
- 0MQ correctness and performance improvements
- Fix for simplewallet dividing by 0 on an invalid dameon response
- New get_address_index wallet RPC
- getbalance RPC now accepts a set of address indices
- New set_tx_key simplewallet command to import tx keys from other wallets
--log-file
now handles filenames without directories- RPC JSON error response now include the JSON version
- Syncing messages now include a percentage done and blocks left to sync
- Fix quadratic complexity in import_key_images
- New locked_sweep_all simplewallet command
- Make tests use temporary files in a writable directory
- Fix wallet language detection when using
--use-english-language-names
- Integrated addresses can now be made for an arbitrary address
- Do not sync read only databases
- Build fix for boost 1.67
- core tests now have a
--filter
option - miniupnpc, rapidjson and unbound upstream updates
- Minor HTTP parsing fixes and speedups
- New ignore-fractional-outputs wallet setting to ignore inputs below the fee level
- New
--regtest
and--fixed-difficulty
debug options - New generatblocks debug RPC
- Prevent the wallet cache from being opened by more than one wallet at a time
- UTF-8 vs UTF-16 filename conversion for windows
- New suggested_confirmations field based on transfer amount and coinbase amount
- Cache ringdb encryption key for speed
- Threading improvements
- Wallet refresh speedups
- alt_chain_info can now show a particular chain
- Fix read buffer overflow in import_key_images
- New get_transaction_pool_hashes JSON RPC
- Lower subaddress lookahead when using a hardware wallet
- Report the blockchain size in getinfo
- Report block hash and height when finding a block
- Fix double header in unsigned transaction file when cold signing
- Fix thoretical P2P layer wedge when getting incoming connection cancellations at just the right time
- Fix lengthy delay when setting auto-refresh off at the wrong time
- Fix 0MQ bind call when address and/or port are empty
- Add disclaimer in the README that third party data is, well, third party, and thus differently trusted
- Fix wallet RPC crashes when there is no open wallet
- Fix wallet crash when using a newly created account
- Batch transactions are now enabled by default in LMDB
- Quantize starting refresh height when starting up the wallet, to help against fingerprinting
- New
--max-log-files
command line option - simplewallet can now set to ignore unmixable outputs (run rescan_spent to undo)
- Fix incorrect fee for split transactions
- Report db version number when it is incompatible
- P2P command line options now accept hostnames as well as IP addresses
- Adaptive connection timeout system, to mitigate against DoS
- simplewallet does not prompt for a missing payument ID when sending to subaddresses only
- Log rotation now numbers files if getting current time fails
- simplewallet can now take a filename with rings in th set_ring command
- Fix cold signing with bulletproofs
--guard-against-pwnage
is now--dangerous-unverified-import
in blockchain-import, and it now warns and pauses- Strip copyrighted ICC profile (can't make it up) metadata from monero icon PNG file
- The wallet does not log by default any longer, for privacy
- Consider Tor/I2P addresses as being non-local for daemon trust purposes
- set_daemon wallet command now acccepts an optional trusted/untrusted argument
- Do not try to pop blocks with unexpected version from a read only database
- Drop P2P connection if most blocks are invalid
- New set of wallet RPC for cold signing
- Fix 172.16..31 local IP range detection
- Fix readline interfering with std::cerr usage
- New Windows debug build Makefile targets
- Disable file size sanity check for wallet caches, which can get quite large
- Enable/disable auto safe mode on LMDB where appropriate
- Fix build with GCC 8.1.0
- Warn when no incoming P2P connections are seen
- Use correct unit for fee in simplewallet
- Fix output shuffling for multisig
- Fix race adding the same tx twice to the txpool
- fix configuring version.cpp without git
- Add warnings about inaccurate balances to to watch-only wallet
- New unit tests
- Many more smaller fixes, speedups, improvements and other tweaks
Práce na upgradu se účastnilo 58 lidí, vytvořili 967 komentářů a 37 385 řádků programovacího jazyka:
- Rafficer
- rbrunner7
- einsteinsfool
- Sarang Noether
- stoffu
- el00ruobuob
- HomDx
- Jethro Grassie
- xiphon
- Maxim Shishmarev
- phloatingman
- redfish
- SChernykh
- m2049r
- Judemir Ribeiro
- Andrea
- Lee Clagett
- Jkat
- Leon Klingele
- naughtyfox
- jcktm
- philkode
- MoroccanMalinois
- itssteven
- Dusan Klinec
- Thaer Khawaja
- cornfeedhobo
- Italocoin
- iDunk5400
- Riccardo "fluffypony" Spagni
- Guillaume Le Vaillant
- Gene Peters
- victorsintnicolaas
- Gingeropolous
- Tuan M. Hoang
- luigi1111
- hrumag
- p8p
- moneroexamples
- Jonathan Cross
- fireice-uk
- Teutone
- ordtrogen
- S
- moneromooo
- Jean Pierre Dudey
- whythat
- Jorropo
- Howard Chu
- cryptochangements34
- OPSXCQ
- TheCharlatan
- anonimal
- artyomsol
- Piotr Kąkol
- Ryan Ronnander
- k1nghat
- Alexandro Sanchez
- cslashm
- Thomas Vaughan