How to add support for segwit address and legacy with bitcoin core 0.16? I've been running bitcoin core 0.15 as regtest, and had X bitcoin in my balance all are from legacy output addresses, As I upgraded to 0.16 core version check in debug the legacy addresses are still validated as mine. but no balance. I wonder will this happen as I will upgrade my wallet at the mainnet as well ?
I wish to be able and support creation of legacy address and SegWit on the same wallet and as of comments on How to generate SegWit address I see I will need to run bitcoin core each time with a new param "-addresstype=legacy" to enable it, so is there a better way ? 

[edit 1] - I should/need to run with same "-datadir" arg ?
[edit 2] - I run it under same -datadir.
[edit 3] - I’ve opened issue 
https://github.com/bitcoin/bitcoin/issues/12872
Quoting Suhas Daftuar's response to the issue you opened:


  In 0.16, we changed the consensus parameters for regtest so that segwit was always active. This was mentioned briefly in the release notes https://github.com/bitcoin/bitcoin/blob/v0.16.0/doc/release-notes.md#testing-changes, along with a workaround to replicate the old behavior.
  
  I am surprised that you're not seeing the assertion failure mentioned in the release notes, but I suspect this is the cause of what you're seeing.


So this is expected, but only affects regtest.