You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -5,6 +5,40 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
6
6
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [v1.2.2] - 2026-03-01
9
+
10
+
### Added
11
+
12
+
- Support for Python 3.14, including the free-threaded (3.14t) build. (#)
13
+
14
+
### Changed
15
+
16
+
- The `dotenv run` command now forwards flags directly to the specified command by [@bbc2] in [#607]
17
+
- Improved documentation clarity regarding override behavior and the reference page.
18
+
- Updated PyPy support to version 3.11.
19
+
- Documentation for FIFO file support.
20
+
- Dropped Support for Python 3.9.
21
+
22
+
### Fixed
23
+
24
+
- Improved `set_key` and `unset_key` behavior when interacting with symlinks by [@bbc2] in [#790c5](https://github.com/theskumar/python-dotenv/commit/790c5c02991100aa1bf41ee5330aca75edc51311)
25
+
- Corrected the license specifier and added missing Python 3.14 classifiers in package metadata by [@JYOuyang] in [#590]
26
+
27
+
### Breaking Changes
28
+
29
+
-`dotenv.set_key` and `dotenv.unset_key` used to follow symlinks in some
30
+
situations. This is no longer the case. For that behavior to be restored in
31
+
all cases, `follow_symlinks=True` should be used.
32
+
33
+
- In the CLI, `set` and `unset` used to follow symlinks in some situations. This
34
+
is no longer the case.
35
+
36
+
-`dotenv.set_key`, `dotenv.unset_key` and the CLI commands `set` and `unset`
37
+
used to reset the file mode of the modified .env file to `0o600` in some
38
+
situations. This is no longer the case: The original mode of the file is now
39
+
preserved. Is the file needed to be created or wasn't a regular file, mode
40
+
`0o600` is used.
41
+
8
42
## [1.2.1] - 2025-10-26
9
43
10
44
- Move more config to `pyproject.toml`, removed `setup.cfg`
@@ -20,9 +54,8 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
20
54
21
55
### Fixed
22
56
23
-
* CLI: Ensure `find_dotenv` work reliably on python 3.13 by [@theskumar] in [#563](https://github.com/theskumar/python-dotenv/pull/563)
24
-
* CLI: revert the use of execvpe on Windows by [@wrongontheinternet] in [#566](https://github.com/theskumar/python-dotenv/pull/566)
25
-
57
+
- CLI: Ensure `find_dotenv` work reliably on python 3.13 by [@theskumar] in [#563](https://github.com/theskumar/python-dotenv/pull/563)
58
+
- CLI: revert the use of execvpe on Windows by [@wrongontheinternet] in [#566](https://github.com/theskumar/python-dotenv/pull/566)
26
59
27
60
## [1.1.0] - 2025-03-25
28
61
@@ -43,56 +76,56 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
43
76
44
77
**Fixed**
45
78
46
-
* Gracefully handle code which has been imported from a zipfile ([#456] by [@samwyma])
47
-
* Allow modules using `load_dotenv` to be reloaded when launched in a separate thread ([#497] by [@freddyaboulton])
48
-
* Fix file not closed after deletion, handle error in the rewrite function ([#469] by [@Qwerty-133])
79
+
- Gracefully handle code which has been imported from a zipfile ([#456] by [@samwyma])
80
+
- Allow modules using `load_dotenv` to be reloaded when launched in a separate thread ([#497] by [@freddyaboulton])
81
+
- Fix file not closed after deletion, handle error in the rewrite function ([#469] by [@Qwerty-133])
49
82
50
83
**Misc**
51
-
* Use pathlib.Path in tests ([#466] by [@eumiro])
52
-
* Fix year in release date in changelog.md ([#454] by [@jankislinger])
53
-
* Use https in README links ([#474] by [@Nicals])
84
+
85
+
- Use pathlib.Path in tests ([#466] by [@eumiro])
86
+
- Fix year in release date in changelog.md ([#454] by [@jankislinger])
87
+
- Use https in README links ([#474] by [@Nicals])
54
88
55
89
## [1.0.0] - 2023-02-24
56
90
57
91
**Fixed**
58
92
59
-
* Drop support for python 3.7, add python 3.12-dev (#449 by [@theskumar])
60
-
* Handle situations where the cwd does not exist. (#446 by [@jctanner])
93
+
- Drop support for python 3.7, add python 3.12-dev (#449 by [@theskumar])
94
+
- Handle situations where the cwd does not exist. (#446 by [@jctanner])
61
95
62
96
## [0.21.1] - 2023-01-21
63
97
64
98
**Added**
65
99
66
-
* Use Python 3.11 non-beta in CI (#438 by [@bbc2])
67
-
* Modernize variables code (#434 by [@Nougat-Waffle])
68
-
* Modernize main.py and parser.py code (#435 by [@Nougat-Waffle])
69
-
* Improve conciseness of cli.py and __init__.py (#439 by [@Nougat-Waffle])
70
-
* Improve error message for `get` and `list` commands when env file can't be opened (#441 by [@bbc2])
71
-
* Updated License to align with BSD OSI template (#433 by [@lsmith77])
72
-
100
+
- Use Python 3.11 non-beta in CI (#438 by [@bbc2])
101
+
- Modernize variables code (#434 by [@Nougat-Waffle])
102
+
- Modernize main.py and parser.py code (#435 by [@Nougat-Waffle])
103
+
- Improve conciseness of cli.py and **init**.py (#439 by [@Nougat-Waffle])
104
+
- Improve error message for `get` and `list` commands when env file can't be opened (#441 by [@bbc2])
105
+
- Updated License to align with BSD OSI template (#433 by [@lsmith77])
73
106
74
107
**Fixed**
75
108
76
-
* Fix Out-of-scope error when "dest" variable is undefined (#413 by [@theGOTOguy])
77
-
* Fix IPython test warning about deprecated `magic` (#440 by [@bbc2])
78
-
* Fix type hint for dotenv_path var, add StrPath alias (#432 by [@eaf])
109
+
- Fix Out-of-scope error when "dest" variable is undefined (#413 by [@theGOTOguy])
110
+
- Fix IPython test warning about deprecated `magic` (#440 by [@bbc2])
111
+
- Fix type hint for dotenv_path var, add StrPath alias (#432 by [@eaf])
79
112
80
113
## [0.21.0] - 2022-09-03
81
114
82
115
**Added**
83
116
84
-
* CLI: add support for invocations via 'python -m'. (#395 by [@theskumar])
85
-
*`load_dotenv` function now returns `False`. (#388 by [@larsks])
86
-
* CLI: add --format= option to list command. (#407 by [@sammck])
117
+
- CLI: add support for invocations via 'python -m'. (#395 by [@theskumar])
118
+
-`load_dotenv` function now returns `False`. (#388 by [@larsks])
119
+
- CLI: add --format= option to list command. (#407 by [@sammck])
87
120
88
121
**Fixed**
89
122
90
-
* Drop Python 3.5 and 3.6 and upgrade GA (#393 by [@eggplants])
91
-
* Use `open` instead of `io.open`. (#389 by [@rabinadk1])
92
-
* Improve documentation for variables without a value (#390 by [@bbc2])
93
-
* Add `parse_it` to Related Projects (#410 by [@naorlivne])
94
-
* Update README.md (#415 by [@harveer07])
95
-
* Improve documentation with direct use of MkDocs (#398 by [@bbc2])
123
+
- Drop Python 3.5 and 3.6 and upgrade GA (#393 by [@eggplants])
124
+
- Use `open` instead of `io.open`. (#389 by [@rabinadk1])
125
+
- Improve documentation for variables without a value (#390 by [@bbc2])
126
+
- Add `parse_it` to Related Projects (#410 by [@naorlivne])
127
+
- Update README.md (#415 by [@harveer07])
128
+
- Improve documentation with direct use of MkDocs (#398 by [@bbc2])
96
129
97
130
## [0.20.0] - 2022-03-24
98
131
@@ -124,16 +157,16 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
124
157
125
158
**Changed**
126
159
127
-
- Require Python 3.5 or a later version. Python 2 and 3.4 are no longer supported. (#341
160
+
- Require Python 3.5 or a later version. Python 2 and 3.4 are no longer supported. (#341
128
161
by [@bbc2]).
129
162
130
163
**Added**
131
164
132
165
- The `dotenv_path` argument of `set_key` and `unset_key` now has a type of `Union[str,
133
-
os.PathLike]` instead of just `os.PathLike` (#347 by [@bbc2]).
166
+
os.PathLike]` instead of just `os.PathLike` (#347 by [@bbc2]).
134
167
- The `stream` argument of `load_dotenv` and `dotenv_values` can now be a text stream
135
168
(`IO[str]`), which includes values like `io.StringIO("foo")` and `open("file.env",
136
-
"r")` (#348 by [@bbc2]).
169
+
"r")` (#348 by [@bbc2]).
137
170
138
171
## [0.18.0] - 2021-06-20
139
172
@@ -271,6 +304,7 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
271
304
- Fix Unicode error in Python 2, introduced in 0.10.0. ([@bbc2])([#176])
272
305
273
306
## 0.10.1
307
+
274
308
- Fix parsing of variable without a value ([@asyncee])([@bbc2])([#158])
275
309
276
310
## 0.10.0
@@ -283,7 +317,6 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
283
317
- Drop Python 3.3 support ([@greyli])
284
318
- Fix stderr/-out/-in redirection ([@venthur])
285
319
286
-
287
320
## 0.9.0
288
321
289
322
- Add `--version` parameter to cli ([@venthur])
@@ -292,81 +325,82 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
292
325
293
326
## 0.8.1
294
327
295
-
-Add tests for docs ([@Flimm])
296
-
-Make 'cli' support optional. Use `pip install python-dotenv[cli]`. ([@theskumar])
328
+
- Add tests for docs ([@Flimm])
329
+
- Make 'cli' support optional. Use `pip install python-dotenv[cli]`. ([@theskumar])
297
330
298
331
## 0.8.0
299
332
300
-
-`set_key` and `unset_key` only modified the affected file instead of
301
-
parsing and re-writing file, this causes comments and other file
302
-
entact as it is.
303
-
-Add support for `export` prefix in the line.
304
-
-Internal refractoring ([@theskumar])
305
-
-Allow `load_dotenv` and `dotenv_values` to work with `StringIO())` ([@alanjds])([@theskumar])([#78])
333
+
-`set_key` and `unset_key` only modified the affected file instead of
334
+
parsing and re-writing file, this causes comments and other file
335
+
entact as it is.
336
+
- Add support for `export` prefix in the line.
337
+
- Internal refractoring ([@theskumar])
338
+
- Allow `load_dotenv` and `dotenv_values` to work with `StringIO())` ([@alanjds])([@theskumar])([#78])
306
339
307
340
## 0.7.1
308
341
309
-
-Remove hard dependency on iPython ([@theskumar])
342
+
- Remove hard dependency on iPython ([@theskumar])
310
343
311
344
## 0.7.0
312
345
313
-
-Add support to override system environment variable via .env.
0 commit comments