You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Shelve should default to the default Pickle protocol instead of hardcoding version 3 #86237
bpo-34204: Bump the default pickle protocol in shelve
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2020-10-18.19:08:59.829>created_at=<Date2020-10-18.18:58:45.208>labels= ['type-feature', 'library', '3.10']
title='Shelve should default to the default Pickle protocol instead of hardcoding version 3'updated_at=<Date2020-10-18.19:10:43.614>user='https://github.com/marco-c'
Shelve is currently defaulting to Pickle protocol 3, instead of using Pickle's default protocol for the Python version in use.
This way, Shelve's users don't benefit from improvements introduced in newer Pickle protocols, unless they notice it and manually pass a newer protocol version to shelve.open or the Shelf constructor.
Activity
marco-c commentedon Oct 18, 2020
Shelve is currently defaulting to Pickle protocol 3, instead of using Pickle's default protocol for the Python version in use.
This way, Shelve's users don't benefit from improvements introduced in newer Pickle protocols, unless they notice it and manually pass a newer protocol version to shelve.open or the Shelf constructor.
ZackerySpytz commentedon Oct 18, 2020
Unfortunately, this is a duplicate of bpo-34204 (which already has a pull request).
rhettinger commentedon Oct 18, 2020
This seems reasonable to me.
There might be some issue is existing code where different versions of Python are sharing the same shelf, but I don't think this is common.