NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1453 most downloaded on PyPI
A package that allows you to utilize 12factor inspired environment variables to configure your Django application.
Last release 3 months ago
18 Jun 2026
Release timing varies
gaps range from 2 weeks to 3.2 years
Nearly every release is documented
notes for 21 of 23 stable releases
2 versions withdrawn
withdrawn after publishing
14 years old
25 releases · first in 2013
django-environ 0.14.0 improves type annotations across Env and updates Env.read_env() to support caller-owned file-like objects without closing them.
django-environ 0.14.0 improves type annotations across Env and updates Env.read_env() to support caller-owned file-like objects without closing them.
This is the final django-environ release supporting Python 3.9.
Env methods.typing_extensions dependency providing TypeAlias on Python 3.9.Env.read_env() now accepts path-like and file-like objects without closing file-like objects supplied by the caller.Env.read_env() now raises an explicit error when it cannot determine the caller frame used to resolve the default .env path.Full changelog: v0.13.0...v0.14.0
Added optional warnings when defaults are used #582 <https://github.com/joke2k/django-environ/pull/582> _.
One column per quarter.
v0.13.0_ - 18-February-2026Added
+++++
#582 <https://github.com/joke2k/django-environ/pull/582>_.choices argument support for value validation in Env.str(...)#555 <https://github.com/joke2k/django-environ/pull/555>_.valkey:// and valkeys:// cache URL schemes#554 <https://github.com/joke2k/django-environ/pull/554>_.rediss:// scheme in channels URL parsing#573 <https://github.com/joke2k/django-environ/pull/573>_.#559 <https://github.com/joke2k/django-environ/pull/559>_.Changed
+++++++
#580 <https://github.com/joke2k/django-environ/pull/580>_.#578 <https://github.com/joke2k/django-environ/pull/578>_.Fixed
+++++
#546 <https://github.com/joke2k/django-environ/pull/546>_.#445 <https://github.com/joke2k/django-environ/pull/445>_.Added optional warnings when defaults are used #582.
Added choices argument support for value validation in Env.str(...) #555.
Added Valkey support via valkey:// and valkeys:// cache URL schemes #554.
Added support for rediss:// scheme in channels URL parsing #573.
Added django-prometheus database backend aliases to DB URL parsing schemes #559.
Fixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent Python versions, preventing failures in runtime URL parsing and related regre
Fixed
#574 <https://github.com/joke2k/django-environ/issues/574>_.Env.get_value() to avoid evaluating lazy default#571 <https://github.com/joke2k/django-environ/issues/571>_.Fixed Include prefix in the ImproperlyConfigured error message #513 .
Fixed
Include prefix in the ImproperlyConfigured error message #513.
Added
Add support for Python 3.12 and 3.13 #538.
Add support for Django 5.1 #535.
Add support for Django CockroachDB driver #509.
Add support for Django Channels #266.
Changed
Disabled inline comments handling by default due to potential side effects. While the feature itself is useful, the project’s philosophy dictates that it should not be enabled by default for all users #499.
Removed
Removed support of Python 3.6, 3.7 and 3.8 #538.
Removed support of Django 1.x. #538.
Revert "Add variable expansion" feature due to #490
Revert "Add interpolate argument to avoid resolving proxied values." feature due to #485
Added support for Django 4.2 #456 .
KEY= 'part1 # part2' # comment #475.interpolate parameter #415.mssql-django as engine for SQL Server #446.importlib.util.find_spec to replace pkgutil.find_loader #482.Support of Python < 3.6 is deprecated and will be removed in next major version.
CONN_HEALTH_CHECKS to database base options #413.encoding parameter to read_env with default value 'utf8' #442..env file.DB_SCHEMES through cls rather than Env in db_url_config #414.Env.get_value() to skip parsing only when default=None, not for all default values that coerce to False #404.Env.unicode().environ.register_schemes calls and do not modify global urllib.parse.urlparse's uses_* variables as this no longer needed #246.Env.unicode() is deprecated and will be removed in the next major release. Use Env.str() instead.
Env.unicode() is deprecated and will be removed in the nextEnv.str() instead.ImproperlyConfigured exception #360.Fixed "Invalid line" spam logs on blank lines in env file #340 .
memcache/pymemcache URL parsing for correct identification of connection type #337.Full diff: v0.8.0...v0.8.1
Log invalid lines when parse .env file #283.
read_env #103, #249.pymemcache cache backend for Django 3.2+ #335.DATABASES_URL for Google Cloud MySQL #294.Full diff: https://github.com/joke2k/django-environ/compare/v0.7.0...v0.8.0
Added support for negative float strings #160.
bytes or str as a default value for Env.bytes().Env.bytes() #206.UserWarning if .env file isn't found. Log a message with INFO log level instead #243.Python 3.9, 3.10 and pypy 3.7 are now supported.
setup.py.read_env #106, #286.db_url_config to work the same for all postgres-like schemes #264, #268.MANIFEST.in in a source package for completeness as a part of CI pipeline.pytest and coverage[toml] to setuptools' extras_require.Added secure redis backend URLs via rediss://.
rediss://.cast=str to str() method.long_description_content_type in setup.Support PostgreSQL unix domain socket paths.
None, True and False.db_url_config.django and six dependencies.Support for django-redis multiple locations (master/slave, shards).
django-redis multiple locations (master/slave, shards).pyodbc.__contains__ feature to Environ class.Support for django-redis multiple locations (master/slave, shards).
Support for Elasticsearch2.
Support for Mysql-connector.
Support for pyodbc.
Added __contains__ feature to Environ class.
Fix Path subtracting.
Rollback the default Environ to os.environ
os.environConfirm support for Django 1.11.
django-redis urls (#109)Confirm support for Django 1.11.
Support for Redshift database URL.
Fix for unsafe characters into URLs
django-redisAdd support for Django 1.10.
Fixed for unsafe characters into URLs.
Clarifying warning on missing or unreadable file. Thanks to @nickcatal.
Fixed support for Oracle urls.
Fixed support for django-redis.
Nothing published for this version
Added email as alias for email_url
email as alias for email_urldb_url_configenviron.Path.__add__ to correctly handle plus operatorenviron.Path.__contains__ to correctly work on WindowsNothing published for this version
Env.__call__ now uses Env.get_value instance method
Env.__call__ now uses Env.get_value instance methodAdded advanced float parsing (comma and dot symbols to separate thousands and decimals).
Added advanced float parsing (comma and dot symbols to separate thousands and decimals).
Fixed typos in the documentation.
.. _v0.13.0: https://github.com/joke2k/django-environ/compare/v0.12.1...v0.13.0 .. _v0.12.1: https://github.com/joke2k/django-environ/compare/v0.12.0.
Initial release.
Initial release.
On this page
Changelog
v0.13.0 - 18-February-2026
Added
Changed
Fixed
v0.12.1 - 13-February-2026
Fixed
v0.12.0 - 8-November-2024
Fixed
Added
Changed
Removed
v0.11.2 - 1-September-2023
Fixed
v0.11.1 - 30-August-2023
Fixed
v0.11.0 - 30-August-2023
Added
Changed
Removed
v0.10.0 - 2-March-2023
Added
Deprecated
Changed
Fixed
Removed
v0.9.0 - 15-June-2022
Added
Deprecated
Changed
Fixed
v0.8.1 - 20-October-2021
Fixed
v0.8.0 - 17-October-2021
Added
Fixed
v0.7.0 - 11-September-2021
Added
Fixed
Changed
v0.6.0 - 4-September-2021
Added
Fixed
Changed
v0.5.0 - 30-August-2021
Added
Fixed
Changed
v0.4.5 - 25-June-2018
Added
Changed
Removed
v0.4.4 - 21-August-2017
Added
Fixed
v0.4.3 - 21-August-2017
Changed
v0.4.2 - 13-April-2017
Added
Changed
v0.4.1 - 13-November-2016
Added
Changed
v0.4 - 23-September-2015
Added
Changed
v0.3.1 - 19 Sep 2015
Added
Fixed
v0.3 - 03-June-2014
Added
Changed
v0.2.1 - 19-April-2013
Changed
v0.2 - 16-April-2013
Added
Fixed
v0.1 - 2-April-2013
Added
Your coding agent can read these notes before it upgrades. Set up the MCP server →