Ah, finally found the epochs thread. Overall, I’m very glad this is happening—breaking changes to the surface langauge are inevitable. The use of years not versions strikes me a bit as a marketing gimmick, but I always avoided python and thus don’t have scars from it’s 2 to 3 transition.
One detail, that I assume will be fleshed out but would like to kick off discussing now, is the pipeline of unstable features into epochs. Currently all our unstable features are non-breaking, but with epochs we can start have breaking unstable features. I’m thinking the nightly should have a “next epoch” to queue up breaking unstable features we are considering stabilizing.
Less clear to me is how this works with the “all errors were warnings” rule. Do we need two next epochs? Separate warn and err versions of breaking unstable features?
Put differently, maybe it’s better to keep things simple on stable, but nightly will have to do much of what this RFC proposes either way.