Skip to content

Releases: joke2k/django-environ

v0.13.0

18 Feb 01:01
00746d0

Choose a tag to compare

v0.13.0_ - 18-February-2026

Added
+++++

  • Added optional warnings when defaults are used
    #582 <https://github.com/joke2k/django-environ/pull/582>_.
  • Added choices argument support for value validation in Env.str(...)
    #555 <https://github.com/joke2k/django-environ/pull/555>_.
  • Added Valkey support via valkey:// and valkeys:// cache URL schemes
    #554 <https://github.com/joke2k/django-environ/pull/554>_.
  • Added support for rediss:// scheme in channels URL parsing
    #573 <https://github.com/joke2k/django-environ/pull/573>_.
  • Added django-prometheus database backend aliases to DB URL parsing schemes
    #559 <https://github.com/joke2k/django-environ/pull/559>_.

Changed
+++++++

  • Declared support for Python 3.14
    #580 <https://github.com/joke2k/django-environ/pull/580>_.
  • Declared support for Django 5.2 and Django 6.0
    #578 <https://github.com/joke2k/django-environ/pull/578>_.

Fixed
+++++

  • Improved type hint coverage and related lint issues
    #546 <https://github.com/joke2k/django-environ/pull/546>_.
  • Fixed typos in the FAQ page
    #445 <https://github.com/joke2k/django-environ/pull/445>_.

v0.12.1

14 Feb 01:17
v0.12.1
efab9d6

Choose a tag to compare

Changelog

Fixed

  • Fixed PostgreSQL cluster URL parsing with bracketed IPv6 hosts in recent
    Python versions, preventing failures in runtime URL parsing and related
    regression tests
    #574 <https://github.com/joke2k/django-environ/issues/574>_.
  • Fixed debug logging in 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

16 Jan 22:05
176e812

Choose a tag to compare

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.

v0.11.2

01 Sep 21:08

Choose a tag to compare

Fixed

  • Revert "Add variable expansion" feature due to #490

v0.11.1

30 Aug 21:31
7b08470

Choose a tag to compare

Fixed

  • Revert "Add interpolate argument to avoid resolving proxied values." feature due to #485

v0.11.0

30 Aug 13:02
4a21fd1

Choose a tag to compare

Added

  • Added support for Django 4.2 #456.
  • Added support for secure Elasticsearch connections #463.
  • Added variable expansion #468.
  • Added capability to handle comments after #, after quoted values,
    like KEY= 'part1 # part2' # comment #475.
  • Added support for interpolate parameter #415.

Changed

  • Used mssql-django as engine for SQL Server #446.
  • Changed handling bool values, stripping whitespace around value #475.
  • Use importlib.util.find_spec to replace pkgutil.find_loader #482.

Removed

  • Removed support of Python 3.5.

v0.10.0

02 Mar 22:11
8874288

Choose a tag to compare

Added

  • Use the core redis library by default if running Django >= 4.0 #356.
  • Value of dict can now contain an equal sign #241.
  • Added support for Python 3.11.
  • Added CONN_HEALTH_CHECKS to database base options #413.
  • Added encoding parameter to read_env with default value 'utf8' #442.
  • Added support for Django 4.1 #416.

Deprecated

  • Support of Python < 3.6 is deprecated and will be removed in next major version.

Changed

  • Used UTF-8 as a encoding when open .env file.
  • Provided access to DB_SCHEMES through cls rather than Env in db_url_config #414.
  • Correct CI workflow to use supported Python versions/OS matrix #441.
  • Reworked trigger CI workflows strategy #440.

Fixed

  • Fixed logic of Env.get_value() to skip parsing only when default=None, not for all default values that coerce to False #404.
  • Deleted duplicated include in docs/quickstart.rst #439.

Removed

  • Removed deprecated Env.unicode().
  • Removed environ.register_schemes calls and do not modify global urllib.parse.urlparse's uses_* variables as this no longer needed #246.

v0.9.0

15 Jun 15:03
7720a49

Choose a tag to compare

Added

  • Added support for Postgresql cluster URI #355.
  • Added support for Django 4.0 #371.
  • Added support for prefixed variables #362.
  • Amended documentation.

Deprecated

  • Env.unicode() is deprecated and will be removed in the next
    major release. Use Env.str() instead.

Changed

  • Attach cause to ImproperlyConfigured exception #360.

Fixed

  • Fixed _cast_urlstr unquoting #357.
  • Fixed documentation regarding unsafe characters in URLs #220.
  • Fixed environ.Path.__eq__() to compare paths correctly #86, #197.

v0.8.1

20 Oct 12:33
44ac664

Choose a tag to compare

Fixed

  • Fixed "Invalid line" spam logs on blank lines in env file #340.
  • Fixed memcache/pymemcache URL parsing for correct identification of connection type #337.

Full diff: v0.8.0...v0.8.1

v0.8.0

17 Oct 12:51
d3f4b01

Choose a tag to compare

Added

  • Log invalid lines when parse .env file #283.
  • Added docker-style file variable support #189.
  • Added option to override existing variables with read_env #103, #249.
  • Added support for empty var with None default value #209.
  • Added pymemcache cache backend for Django 3.2+ #335.

Fixed

  • Keep newline/tab escapes in quoted strings #296.
  • Handle escaped dollar sign in values #271.
  • Fixed incorrect parsing of DATABASES_URL for Google Cloud MySQL #294.

Full diff: v0.7.0...v0.8.0