python-dotenv is a project that helps load environment variables from a `.env` file into your application. It’s useful when you want to manage configuration locally for development while keeping environment-based settings separate from your code.
Project status
- Actively maintained, with the last upstream push on 2026-10-01 and recent
updatesincluding a patch release on 2026-10-01 and another on 2026-08-16, indicating ongoing responsiveness rather than a long pause. - Apparent update cadence is roughly every 1 to 2 months in this recent period (Aug 2026 to Oct 2026), after a longer gap of about 5.5 months (Aug to Mar 2026).
AI summary generated
Recent updates
v1.2.4
v1.2.4 contains fixes around dotenv parsing and CLI behavior. It corrects how empty values are handled for both `dotenv get` and inline comments in `.env` files, and it updates `dotenv run` interpolation behavior to respect environment precedence when `--no-override` is used.
v1.2.3
v1.2.3 contains targeted fixes around .env parsing robustness and CLI behavior for `dotenv run`. The main runtime changes address UTF-8 BOM stripping, correct round-trip escaping for backslashes in `set_key`, improved handling of a tricky quoted-value edge case, and caching behavior for empty .env files.
v1.2.2
python-dotenv 1.2.2 adds Python 3.14 and free-threaded build support, and changes the CLI `run` path so extra flags are forwarded to the child command. The release also tightens file rewrite behavior around symlinks and file permissions, while the code diff shows a few additional behavior shifts beyond what the notes mention.
BreakingFeaturesv1.2.1
v1.2.1 adds Unix FIFO support for `.env` loading and switches PyPI publishing to trusted publishing. The runtime change is small, but the release also includes a broader tooling cleanup, moving config into `pyproject.toml` and simplifying the build and release pipeline.
Featuresv1.2.0
v1.2.0 is mostly a tooling and packaging release, but it also adds `PYTHON_DOTENV_DISABLED` so `load_dotenv()` can be turned off at runtime. The release adds Python 3.14 CI and tox support, modernizes the build and release pipeline around `pyproject.toml`, `build`, and ruff, and keeps the public dotenv loading API otherwise stable.
Featuresv1.1.1
This is a focused patch release for python-dotenv 1.1.1. It fixes `find_dotenv` behavior on Python 3.13 and updates `dotenv run` on Windows to avoid the broken `execvpe` path.
v1.1.0
python-dotenv v1.1.0 adds Python 3.13 support, drops Python 3.8, and improves `dotenv run` and debugger-aware `.env` discovery. It also refreshes the project’s CI and repository governance files, including Dependabot and a security policy.
BreakingFeaturesv1.0.1
v1.0.1 is a small maintenance release focused on robustness and compatibility. It improves `.env` rewriting error handling, makes `.env` discovery work better for zipimported code and thread-based reload scenarios, and refreshes tests, docs, and CI for newer Python versions.
v1.0.0
v1.0.0 is a small maintenance release that mainly fixes CLI startup when the current working directory no longer exists, updates the supported Python floor to 3.8+, and adds Python 3.12-dev coverage. The rest of the diff is mostly packaging, docs, CI, and test tooling cleanup.
Breakingv0.21.1
Version 0.21.1 is a maintenance release focused on code modernization, typing cleanup, and better CLI handling for unreadable .env files. It also fixes the undefined dest rewrite bug, updates the project license, and moves CI onto stable Python 3.11.
Featuresv0.21.0
Version 0.21.0 adds CLI ergonomics, including `python -m dotenv` execution and a new `dotenv list --format` flag, while also updating documentation and packaging. It drops Python 3.5 and 3.6 support and changes `load_dotenv` so empty loads can return `False`.
BreakingFeaturesv0.19.2
This release fixes a specific issue related to writing new environment entries using `set_key`, ensuring proper file formatting. No new features or compatibility changes are mentioned in the release notes.