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 (nIndex != -1) {
        pwallet->ReturnKey(nIndex, fInternal, vchPubKey);
    }
    nIndex = -1;
    vchPubKey = CPubKey();
    address = CNoDestination();
}
void CWallet::MarkReserveKeysAsUsed(int64_t keypool_id)
{
    AssertLockHeld(cs_wallet);
    bool internal = setInternalKeyPool.count(keypool_id);
    if (!internal) assert(setExternalKeyPool.count(keypool_id) || set_pre_split_keypool.count(keypool_id));
    std::set<int64_t> *setKeyPool = internal ? &setInternalKeyPool : (set_pre_split_keypool.empty() ? &setExternalKeyPool : &set_pre_split_keypool);
    auto it = setKeyPool->begin();
    WalletBatch batch(*database);
    while (it != std::end(*setKeyPool)) {
        const int64_t& index = *(it);
        if (index > keypool_id) break; 
        CKeyPool keypool;
        if (batch.ReadPool(index, keypool)) { 
            m_pool_key_to_index.erase(keypool.vchPubKey.GetID());
        }
        LearnAllRelatedScripts(keypool.vchPubKey);
        batch.ErasePool(index);
        WalletLogPrintf("keypool index %d removed\n", index);
        it = setKeyPool->erase(it);
    }
}
void CWallet::LockCoin(const COutPoint& output)