# What changed in django-environ

> 15 changes in django-environ 0.12 to 0.14 from its official release notes, upgrade guides and advisories: 1 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/pypi/django-environ/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## django-environ 0.14

### Breaking changes

- Raises an explicit error when it cannot determine the caller frame for resolving the default `.env` path. (0.14.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.14.0)

### Behavior and default changes

- Accepts path-like and file-like objects; caller-supplied file-like objects are no longer closed. (0.14.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.14.0)

### Tooling

- Env methods gain type annotations and matching docstring information, improving typing support for developers. (0.14.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.14.0)
- A conditional dependency provides TypeAlias on Python 3.9. (0.14.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.14.0)

## django-environ 0.13

### New APIs and options

- The choices argument supports value validation in Env.str(...). (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)
- Channels URL parsing now supports the rediss:// scheme. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)
- Valkey cache URLs can use the valkey:// scheme. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)
- Valkey cache URLs can use the valkeys:// scheme. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)
- Optional warnings can now be emitted when defaults are used. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)

### Behavior and default changes

- DB URL parsing schemes now include django-prometheus database backend aliases. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)

### Tooling

- Type hint coverage was improved. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)

### Fixes and other changes

- Support is declared for Django 5.2 and Django 6.0. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)
- Support is declared for Python 3.14. (0.13.0) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.13.0)

## django-environ 0.12

### Fixes and other changes

- Debug logging no longer evaluates lazy default objects when DEBUG logging is enabled. (0.12.1) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.12.1)
- Parsing PostgreSQL cluster URLs with bracketed IPv6 hosts is fixed in recent Python versions, preventing runtime URL parsing failures. (0.12.1) — [release notes](https://github.com/joke2k/django-environ/releases/tag/v0.12.1)
