[Python-Dev] Why is pickle.DEFAULT_PROTOCOL still 3?
On Mon, Apr 2, 2018 at 3:57 PM Lukasz Langa <lukasz at langa.pl> wrote:
> > On Apr 2, 2018, at 2:13 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> > On Mon, 2 Apr 2018 13:48:46 -0700
> > Lukasz Langa <lukasz at langa.pl> wrote:
> >> Pickle protocol version 4.0 was originally defined back in PEP 3154 and
> shipped as part of Python 3.4 back in 2011. Yet it's still not the default.
> > Because we want pickles produced with the default to be readable by
> > earlier Python 3 versions.
> > (the same reason protocol 0 stayed the default throughout the Python 2
> > lifetime)
> Alright, so that means we can easily do this for Python 3.8, right? I
> mean, following Christian's logic, Python 3.3 is already dead, with its
> final release done in February 2016 and support dropped in September 2017
> per PEP 398.
> I think we need to get past thinking about "Python 2" vs. "Python 3". This
> frame of mind creates space for another mythical release of Python that
> will break all the compatibilities, something we promised not to do. A
> moving backward compatibility window that includes the last release still
> under security fixes seems like a good new framework for this.
> What do you think?
+1 - That puts the words to the reason I suggest just running with the
change for 3.8. If we had noticed in time I'd've suggested doing it in
3.7, too late and not a huge deal so just wait for 3.8.
Never changing it in the past during 1 and 2.x led a lot of code to always
specify HIGHEST as the protocol because the default was unreasonable.
-------------- next part --------------
An HTML attachment was scrubbed...