
On 10 Oct 2017, at 16:53, Michael Snoyman
Why keep around a deprecated high-level interface and recommend people use the low level one.
How about a third option: deprecate the old high-level interface, and add a new, better designed high-level interface? That way you keep backwards compatibility for existing code, while allowing a new API to come into existence.
Personally, in these kinds of situations, I usually recommend starting the new API off in a separate package to allow for more rapid API iteration without inflicting breaking API changes on the original package, and then—once the API has stabilized—consider including it in the original package.
Honestly, I don't have any strong opinions on this yet. "long-term" goal can just easily be read as "wishful thinking" in the original email. I don't have any concrete plans, so for now it's mostly about "stop things being broken". Starting a new package/forking network for fast iteration is a nice idea and all, but just leaves everyone else with a broken network package atm. I was actually doubting whether I should even talk about "long term" plans, clearly it was a mistake to include that. I don't want this turning in an abstract bike shedding discussion about potential future plans. Cheers, Merijn