Comparing v1.2.1...v1.2.2 · theskumar/python-dotenv
Commits on Oct 26, 2025
-
Fix gh-pages deployment permission issue
- Add contents: write permission for pushing to gh-pages branch - Replace mkdocs gh-deploy with peaceiris/actions-gh-pages action - Split documentation build and deploy into separate steps for better reliability
Commits on Jan 10, 2026
-
I somehow merged a malformatted PR earlier today. Let's fix the formatting first.
bbc2 committed
Jan 10, 2026
Commits on Jan 12, 2026
-
Make
dotenv runforward flags to given command (#607)Changes for users: - (BREAKING) Forward flags passed after `dotenv run` to the given command instead of interpreting them. - This means that an invocation such as `dotenv run ls --help` will show the help page of `ls` instead of that of `dotenv run`. - To pass flags to `dotenv run` itself, pass them right after `run`: `dotenv run --help` or `dotenv run --override ls`. - As usual, generic options should be passed right after `dotenv`: `dotenv --file path/to/env run ls`bbc2 authored
Jan 12, 2026 -
Docs: Improve readability of reference page (#605)
This uses some (but not all) of the settings recommended at https://mkdocstrings.github.io/python/usage/#recommended-settings. Changes to the "Reference" page: - Replace section heading with function name (instead of function declaration): This should be more readable. - The function declaration is now shown in a code block instead of the heading. - Added "Table of contents" to the right, to quickly navigate to a particular method. - Removed "Source code": It removes clutter from the page and probably wasn't very useful (but it can easily be added back if needed).
bbc2 authored
Jan 12, 2026 -
Clean up "Related projects" section of the readme (#602)
Changes: - Removed django-environ-2: The project was archived on GitHub. - Changed URL of dynaconf: The canonical repository changed. Those are very conservative choices. I haven't added projects, or removed projects that seemed less relevant.
bbc2 authored
Jan 12, 2026 -
Drop Python 3.9 support and update to PyPy 3.11 (#608)
Python 3.9 reached end-of-life on October 5, 2025. This commit removes support for Python 3.9 and updates the minimum required version to Python 3.10. Additionally, PyPy has been updated from 3.10 to 3.11, and proper support for Python 3.14 free-threading builds (3.14t) has been added with separate tox environments. Changes: - Update requires-python from >=3.9 to >=3.10 in pyproject.toml - Remove Python 3.9 classifier from package metadata - Remove Python 3.9 and PyPy 3.9 from CI test matrix - Update PyPy from 3.10 to 3.11 (latest stable version) - Remove py39 from tox envlist and gh-actions mapping - Remove mypy type checking for Python 3.9 - Add separate tox environments for py314 and py314t to properly support both regular and free-threading Python 3.14 builds - Update all tox environment references to include py314 and py314t The project now officially supports: - CPython: 3.10, 3.11, 3.12, 3.13, 3.14 (including free-threading) - PyPy: 3.11
-
Add Windows testing to CI (#604)
Changes for users: none. Notes: - This adds CI testing with lowest and highest Python versions we support. - The main motivation for this is that we have Windows-specific code I'm worried I might break with improvements, like improvements in `dotenv run` error handling (coming soon). - I went for the least intrusive changes for now, and disabled tests which would fail unless they were trivial to adjust. - We have tests using `sh` (Unix-only module) which should be possible to fix later. Those tests are disabled on Windows. - Also tests relying on the fact that environment variables are case sensitive, which isn't the case on Windows. This is going to be more tricky to fix. Those tests are also disabled on Windows. - To check for the platform, I used `sys.platform == "win32"` everywhere, which seems to be the best practice. Co-authored-by: Saurabh Kumar <theskumar@users.noreply.github.com> -
ci: improve workflow efficiency with best practices (#609)
- Limit workflow triggers to main branch for pushes - Run tests on PRs targeting any branch - Add concurrency control to cancel outdated workflow runs - Set 15-minute timeout to prevent hung jobs - Follows GitHub Actions best practices for open-source projects
-
docs: clarify override behavior and document FIFO support (#610)
- Explicitly state that override=False is the default behavior in the Getting Started section for better clarity - Add note about FIFO (named pipes) support on Unix systems in the File format section - Improve formatting consistency: - Standardize TOC list markers (use '-' instead of '*') - Fix line wrapping and spacing issues throughout
Commits on Feb 28, 2026
-
Remove the use of
shin tests (#612)This commit has the following benefits: - Remove `sh` as a development dependency. - Increase test coverage on Windows. - Improve the robustness of some tests against leftover `.env` files in the repository. - This is not perfect yet: If you have a `.env` file in your repository, it still disrupts some tests (for `find_dotenv`). - Improve the readability of error messages for some tests.bbc2 authored
Feb 28, 2026
Commits on Mar 1, 2026
-
Changes for users: - (BREAKING) `dotenv.set_key` and `dotenv.unset_key` used to follow symlinks in some situations. This is no longer the case. For that behavior to be restored in all cases, `follow_symlinks=True` should be used. - (BREAKING) In the CLI, `set` and `unset` used to follow symlinks in some situations. This is no longer the case. - (BREAKING) `dotenv.set_key`, `dotenv.unset_key` and the CLI commands `set` and `unset` used to reset the file mode of the modified .env file to `0o600` in some situations. This is no longer the case: The original mode of the file is now preserved. Is the file needed to be created or wasn't a regular file, mode `0o600` is used.
bbc2 authored
Mar 1, 2026