web3.eth.accounts.decrypt can parse v4, return the first account.
web3.eth.accounts.decryptList can parse v4, return all accounts.
web3.eth.accounts.wallet.decrypt explicitly throws when v4 is given.
Why not support v4? because web3 wallet uniquely identifies an account by its address. It’s confusing to support (1 address + many keys). We will not support v4 keystore until we have a good solution (e.g. AccountStore).
web3.eth.accounts.decrypt
can parse v4, return the first account.web3.eth.accounts.decryptList
can parse v4, return all accounts.web3.eth.accounts.wallet.decrypt
explicitly throws when v4 is given.