CHANGELOG.rst
All notable changes to this project will be documented in this file.
The format is inspired by Keep a Changelog <https://keepachangelog.com/en/1.0.0/>_
and this project adheres to Semantic Versioning <https://semver.org/spec/v2.0.0.html>_.
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/581>_.#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>_.v0.12.1_ - 13-February-2026Fixed +++++
#574 <https://github.com/joke2k/django-environ/issues/574>_.Env.get_value() to avoid evaluating lazy default
objects when DEBUG logging is enabled
#571 <https://github.com/joke2k/django-environ/issues/571>_.v0.12.0_ - 8-November-2024Fixed +++++
ImproperlyConfigured error message
#513 <https://github.com/joke2k/django-environ/issues/513>_.Added +++++
#538 <https://github.com/joke2k/django-environ/issues/538>_.#535 <https://github.com/joke2k/django-environ/issues/535>_.#509 <https://github.com/joke2k/django-environ/issues/509>_.#266 <https://github.com/joke2k/django-environ/issues/266>_.Changed +++++++
#499 <https://github.com/joke2k/django-environ/issues/499>_.Removed +++++++
#538 <https://github.com/joke2k/django-environ/issues/538>_.#538 <https://github.com/joke2k/django-environ/issues/538>_.v0.11.2_ - 1-September-2023Fixed +++++
#490 <https://github.com/joke2k/django-environ/issues/490>_.v0.11.1_ - 30-August-2023Fixed +++++
#485 <https://github.com/joke2k/django-environ/issues/485>_.v0.11.0_ - 30-August-2023Added +++++
#456 <https://github.com/joke2k/django-environ/pull/456>_.#463 <https://github.com/joke2k/django-environ/pull/463>_.#468 <https://github.com/joke2k/django-environ/pull/468>_.#, after quoted values,
like KEY= 'part1 # part2' # comment
#475 <https://github.com/joke2k/django-environ/pull/475>_.interpolate parameter
#415 <https://github.com/joke2k/django-environ/pull/415>_.Changed +++++++
mssql-django as engine for SQL Server
#446 <https://github.com/joke2k/django-environ/pull/446>_.#475 <https://github.com/joke2k/django-environ/pull/475>_.importlib.util.find_spec to replace pkgutil.find_loader
#482 <https://github.com/joke2k/django-environ/pull/482>_.Removed +++++++
v0.10.0_ - 2-March-2023Added +++++
#356 <https://github.com/joke2k/django-environ/issues/356>_.#241 <https://github.com/joke2k/django-environ/pull/241>_.CONN_HEALTH_CHECKS to database base options
#413 <https://github.com/joke2k/django-environ/issues/413>_.encoding parameter to read_env with default value 'utf8'
#442 <https://github.com/joke2k/django-environ/pull/442>_.#416 <https://github.com/joke2k/django-environ/issues/416>_.Deprecated ++++++++++
Changed +++++++
.env file.DB_SCHEMES through cls rather than
Env in db_url_config
#414 <https://github.com/joke2k/django-environ/pull/414>_.#441 <https://github.com/joke2k/django-environ/pull/441>_.#440 <https://github.com/joke2k/django-environ/pull/440>_.Fixed +++++
Env.get_value() to skip parsing only when
default=None, not for all default values that coerce to False
#404 <https://github.com/joke2k/django-environ/issues/404>_.#439 <https://github.com/joke2k/django-environ/pull/439>_.Removed +++++++
Env.unicode().environ.register_schemes calls and do not modify global
urllib.parse.urlparse's uses_* variables as this no longer needed
#246 <https://github.com/joke2k/django-environ/pull/246>_.v0.9.0_ - 15-June-2022Added +++++
#355 <https://github.com/joke2k/django-environ/pull/355>_.#371 <https://github.com/joke2k/django-environ/issues/371>_.#362 <https://github.com/joke2k/django-environ/issues/362>_.Deprecated ++++++++++
Env.unicode() is deprecated and will be removed in the next
major release. Use Env.str() instead.Changed +++++++
ImproperlyConfigured exception
#360 <https://github.com/joke2k/django-environ/issues/360>_.Fixed +++++
_cast_urlstr unquoting
#357 <https://github.com/joke2k/django-environ/issues/357>_.#220 <https://github.com/joke2k/django-environ/issues/220>_.environ.Path.__eq__() to compare paths correctly
#86 <https://github.com/joke2k/django-environ/issues/86>,
#197 <https://github.com/joke2k/django-environ/issues/197>.v0.8.1_ - 20-October-2021Fixed +++++
#340 <https://github.com/joke2k/django-environ/issues/340>_.memcache/pymemcache URL parsing for correct identification of
connection type #337 <https://github.com/joke2k/django-environ/issues/337>_.v0.8.0_ - 17-October-2021Added +++++
.env file
#283 <https://github.com/joke2k/django-environ/pull/283>_.#189 <https://github.com/joke2k/django-environ/issues/189>_.read_env
#103 <https://github.com/joke2k/django-environ/issues/103>,
#249 <https://github.com/joke2k/django-environ/issues/249>.#209 <https://github.com/joke2k/django-environ/issues/209>_.pymemcache cache backend for Django 3.2+
#335 <https://github.com/joke2k/django-environ/pull/335>_.Fixed +++++
#296 <https://github.com/joke2k/django-environ/pull/296>_.#271 <https://github.com/joke2k/django-environ/issues/271>_.DATABASES_URL for Google Cloud MySQL
#294 <https://github.com/joke2k/django-environ/issues/294>_.v0.7.0_ - 11-September-2021Added +++++
#160 <https://github.com/joke2k/django-environ/issues/160>_.#297 <https://github.com/joke2k/django-environ/pull/297>_.#314 <https://github.com/joke2k/django-environ/issues/314>_.bytes or str as a default value for Env.bytes().Fixed +++++
Env.bytes()
#206 <https://github.com/joke2k/django-environ/pull/206>_.#200 <https://github.com/joke2k/django-environ/issues/200>_.Changed +++++++
UserWarning if .env file isn't found. Log a message with
INFO log level instead #243 <https://github.com/joke2k/django-environ/issues/243>_.v0.6.0_ - 4-September-2021Added +++++
setup.py.read_env
#106 <https://github.com/joke2k/django-environ/issues/106>,
#286 <https://github.com/joke2k/django-environ/issues/286>.Fixed +++++
db_url_config to work the same for all postgres-like schemes
#264 <https://github.com/joke2k/django-environ/issues/264>,
#268 <https://github.com/joke2k/django-environ/issues/268>.Changed +++++++
MANIFEST.in in a source package for completeness as a part of CI
pipeline.pytest and coverage[toml] to setuptools' extras_require.v0.5.0_ - 30-August-2021Added +++++
rediss://.cast=str to str() method.Fixed +++++
Changed +++++++
long_description_content_type in setup.v0.4.5_ - 25-June-2018Added +++++
Changed +++++++
None, True and False.db_url_config.Removed +++++++
django and six dependencies.v0.4.4_ - 21-August-2017Added +++++
django-redis multiple locations (master/slave, shards).pyodbc.__contains__ feature to Environ class.Fixed +++++
v0.4.3_ - 21-August-2017Changed +++++++
os.environ.v0.4.2_ - 13-April-2017Added +++++
Changed +++++++
#55 <https://github.com/joke2k/django-environ/issues/55>_.django-redis urls
#109 <https://github.com/joke2k/django-environ/pull/109>_.v0.4.1_ - 13-November-2016Added +++++
Changed +++++++
@nickcatal <https://github.com/nickcatal>_.django-redis.v0.4_ - 23-September-2015Added +++++
smtp+ssl and smtp+tls (smtps would be deprecated).@anonymouzz <https://github.com/anonymouzz>_.django-ldapdb/django-ldapdb <https://github.com/django-ldapdb/django-ldapdb>_.Changed +++++++
redis_cache replaced by django_redis.v0.3.1_ - 19 Sep 2015Added +++++
email as alias for email_url.db_url_config.Fixed +++++
environ.Path.__add__ to correctly handle plus operator.environ.Path.__contains__ to correctly work on Windows.v0.3_ - 03-June-2014Added +++++
Changed +++++++
Changed +++++++
Env.__call__ now uses Env.get_value instance method.Added +++++
Fixed +++++
Added +++++
.. _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...v0.12.1 .. _v0.12.0: https://github.com/joke2k/django-environ/compare/v0.11.2...v0.12.0 .. _v0.11.2: https://github.com/joke2k/django-environ/compare/v0.11.1...v0.11.2 .. _v0.11.1: https://github.com/joke2k/django-environ/compare/v0.11.0...v0.11.1 .. _v0.11.0: https://github.com/joke2k/django-environ/compare/v0.10.0...v0.11.0 .. _v0.10.0: https://github.com/joke2k/django-environ/compare/v0.9.0...v0.10.0 .. _v0.9.0: https://github.com/joke2k/django-environ/compare/v0.8.1...v0.9.0 .. _v0.8.1: https://github.com/joke2k/django-environ/compare/v0.8.0...v0.8.1 .. _v0.8.0: https://github.com/joke2k/django-environ/compare/v0.7.0...v0.8.0 .. _v0.7.0: https://github.com/joke2k/django-environ/compare/v0.6.0...v0.7.0 .. _v0.6.0: https://github.com/joke2k/django-environ/compare/v0.5.0...v0.6.0 .. _v0.5.0: https://github.com/joke2k/django-environ/compare/v0.4.5...v0.5.0 .. _v0.4.5: https://github.com/joke2k/django-environ/compare/v0.4.4...v0.4.5 .. _v0.4.4: https://github.com/joke2k/django-environ/compare/v0.4.3...v0.4.4 .. _v0.4.3: https://github.com/joke2k/django-environ/compare/v0.4.2...v0.4.3 .. _v0.4.2: https://github.com/joke2k/django-environ/compare/v0.4.1...v0.4.2 .. _v0.4.1: https://github.com/joke2k/django-environ/compare/v0.4...v0.4.1 .. _v0.4: https://github.com/joke2k/django-environ/compare/v0.3.1...v0.4 .. _v0.3.1: https://github.com/joke2k/django-environ/compare/v0.3...v0.3.1 .. _v0.3: https://github.com/joke2k/django-environ/compare/v0.2.1...v0.3