08 Jul 2023


  • Require Python 3.8 or later.

Deprecations and Removals#

  • Synced with CPython 3.12.0b2. Removes SafeConfigParser and filename parameter.


19 Aug 2022

  • Synced with Python 3.11.0rc1.

  • Packaging refresh.

  • Requires Python 3.7 or later.


03 Dec 2021

  • Project now uses PEP 420 (native) namespace package for backports package.


04 Nov 2021

  • Synced with Python 3.10.0.

  • Packaging refresh.

  • Tests now run on Python 3.10.

  • Modernized code relying on Python 3.6.


  • Packaging refresh.


  • Synced with Python 3.9.0.

  • Refreshed package metadata.


  • Require Python 3.6 or later. For Python 2.6-3.5, use configparser < 5 (selection should be automatic when installed using pip 9 from PyPI). The 4.x line remains supported for bug fixes but will no longer be updated for future releases.


  • Re-release after pulling 4.0.0 and 4.0.1 due to #45.


  • Cleaned up broken badges and release notes publishing.


  • Switched to semver for versioning this backport.

  • Project now uses setuptools_scm for tagging releases.



  • Synced project with Python 3.7.4 (no meaningful changes).


  • Project is now officially supported through Tidelift.


  • Issue #34: Temporarily degrade to use ASCII for author’s name.


(also released as 3.8.0)

  • Repackaged using setuptools_scm for file discovery and other features from skeleton. Fixes #33.

  • Package now unconditionally installs the configparser module. Doing so allowed for the project to release a universal wheel for Python 2 and Python 3. Even though the configparser module is installed unconditionally on Python 3, it’s expected that it will be masked in that environment by the module in stdlib, so the same interface applies. Ref #31.


  • Issue #30: Fixed issue on Python 2.x when future is present.


  • Merge functionality from Python 3.7.2. Now ConfigParser accepts bytes paths as well as any PathLike object, including those found in the pathlib2 backport <https://pypi.org/project/pathlib2/>.

  • Project now uses declarative config for package metadata, meaning it requires install from wheel or build using Setuptools 30.4 or later.


  • Issue #27: Reverted the limit on DeprecationWarning, as it had unintended consequences.


  • Issue #23: Use environment markers to indicate the ‘ordereddict’ dependency for Python 2.6.

  • Issue #24: Limit DeprecationWarning when a filename is indicated as a bytestring on Python 2. Now the warning is only emitted when py3kwarning is indicated.


  • jaraco adopts the package.

  • Moved hosting to GitHub.

  • Issue #21: Updated backports namespace package to conform with other packages sharing the namespace.


  • a complete rewrite of the backport; now single codebase working on Python 2.6 - 3.5. To use on Python 3 import from backports import configparser instead of the built-in version.

  • compatible with 3.5.1

  • fixes #1: versioning non-compliant with PEP 386

  • fixes #3: reload(sys); sys.setdefaultencoding('utf8') in setup.py

  • fixes #5: Installing the backport on Python 3 breaks virtualenv

  • fixes #6: PyPy compatibility


  • second beta of 3.5.0, not using any third-party futurization libraries


  • first beta of 3.5.0, using python-future

  • for the full feature list, see 3.5.0


  • updated the fix for Python #16820: parsers now preserve section order when using __setitem__ and update


  • compatible with 3.3.0 + fixes for Python #15803 and Python #16820

  • fixes #4: read() properly treats a bytestring argument as a filename

  • ordereddict dependency required only for Python 2.6

  • unittest2 explicit dependency dropped. If you want to test the release, add unittest2 on your own.


  • proper Python 2.6 support

    • explicitly stated the dependency on ordereddict

    • numbered all formatting braces in strings

  • explicitly says that Python 2.5 support won’t happen (too much work necessary without abstract base classes, string formatters, the io library, etc.)

  • some healthy advertising in the README


  • a backport-specific change: for convenience and basic compatibility with the old ConfigParser, bytestrings are now accepted as section names, options and values. Those strings are still converted to Unicode for internal storage so in any case when such conversion is not possible (using the ‘ascii’ codec), UnicodeDecodeError is raised.