Here is a proposed release schedule for 0.19.0, the next major release of Bitcoin Core. Like for previous major releases I've aimed for a release 6 months after the last ( #14438).

2019-09-01 :heavy_check_mark: 
---------------
- Open Transifex translations for 0.19
- Soft translation string freeze (no large or unnecessary string changes until release)
- Finalize and close translations for 0.17

2019-09-15 :heavy_check_mark: 
---------------
- Feature freeze (bug fixes only until release)
- Translation string freeze (no more source language changes until release)

2019-10-01 :heavy_check_mark: 
---------------
- Split off `0.19` branch from `master`
- Start RC cycle, tag and release `0.19.0rc1`
- Start merging for 0.20 on master branch

2019-11-03 :heavy_check_mark:
---------------
- Release 0.19.0 final (aim)

If any specific dates or timeframes are a problem for you, let me know.

**Edit:** schedule was moved two months back on 2019-05-07, for reference, the old schedule was:
```
2019-11-01    Soft translation string freeze
2019-11-15    Feature freeze
2019-12-01    Split off 0.19 branch from master
2020-01-03    Release 0.19.0 final (aim)
```
if (Unlock(_vMasterKey))
            {
                int64_t nStartTime = GetTimeMillis();
                crypter.SetKeyFromPassphrase(strNewWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod);
                pMasterKey.second.nDeriveIterations = static_cast<unsigned int>(pMasterKey.second.nDeriveIterations * (100 / ((double)(GetTimeMillis() - nStartTime))));
                nStartTime = GetTimeMillis();
                crypter.SetKeyFromPassphrase(strNewWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod);
                pMasterKey.second.nDeriveIterations = (pMasterKey.second.nDeriveIterations + static_cast<unsigned int>(pMasterKey.second.nDeriveIterations * 100 / ((double)(GetTimeMillis() - nStartTime)))) / 2;
                if (pMasterKey.second.nDeriveIterations < 25000)
                    pMasterKey.second.nDeriveIterations = 25000;
                WalletLogPrintf("Wallet passphrase changed to an nDeriveIterations of %i\n", pMasterKey.second.nDeriveIterations);
                if (!crypter.SetKeyFromPassphrase(strNewWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod))
                    return false;
                if (!crypter.Encrypt(_vMasterKey, pMasterKey.second.vchCryptedKey))
                    return false;
                WalletBatch(*database).WriteMasterKey(pMasterKey.first, pMasterKey.second);
                if (fWasLocked)
                    Lock();
                return true;
            }
        }
    }
    return false;
}
void CWallet::ChainStateFlushed(const CBlockLocator& loc)
{
    WalletBatch batch(*database);
    batch.WriteBestBlock(loc);
}
void CWallet::SetMinVersion(enum WalletFeature nVersion, WalletBatch* batch_in, bool fExplicit)