The same private key returns different address in neo-cli-3.0 which means neo-cli 3.0 isn't able to open old wallet created by neo-cli2.0 (db3&json).

Yes. It is by design.
Seems could bring big problem when migrating balance from address 2.0 to address 3.0. Wish there might be a better solution.
The opcodes change, so the address change too.
@shargon, addresses can be kept if an additional mechanism transforms the old opcode to syscall in the ApplicationLayer.
I have a solution that is compatible with the old address. Please wait for my PR.
Don't worry @superboyiii it will be made compatible :)
Go, master Yoda Jedi. :+1:

We gonna wait for the PR.

Is solved?
@shargon I think Erik is preparing a fix for this. Do you need help @erikzhang ?
@neo-project/core don't we need this for preview1? Won't this cause confusion if we release something before 'fixing' this?
Most helpful comment
I have a solution that is compatible with the old address. Please wait for my PR.