All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
No unreleased change at this time.
0.13.0 - 2020-04-16
- Add support for a Bash-like default value in variable expansion (#248 by @bbc2).
0.12.0 - 2020-02-28
- Use current working directory to find
.envwhen bundled by PyInstaller (#213 by @gergelyk).
- Fix escaping of quoted values written by
set_key(#236 by @bbc2). - Fix
dotenv runcrashing on environment variables without values (#237 by @yannham). - Remove warning when last line is empty (#238 by @bbc2).
0.11.0 - 2020-02-07
- Add
interpolateargument toload_dotenvanddotenv_valuesto disable interpolation (#232 by @ulyssessouza).
- Use logging instead of warnings (#231 by @bbc2).
- Fix installation in non-UTF-8 environments (#225 by @altendky).
- Fix PyPI classifiers (#228 by @bbc2).
0.10.5 - 2020-01-19
- Fix handling of malformed lines and lines without a value (#222 by @bbc2):
- Don't print warning when key has no value.
- Reject more malformed lines (e.g. "A: B", "a='b',c").
- Fix handling of lines with just a comment (#224 by @bbc2).
0.10.4 - 2020-01-17
- Make typing optional (#179 by @techalchemy).
- Print a warning on malformed line (#211 by @bbc2).
- Support keys without a value (#220 by @ulyssessouza).
- Improve interactive mode detection (@andrewsmith)(#183).
- Refactor parser to fix parsing inconsistencies (@bbc2)(#170).
- Interpret escapes as control characters only in double-quoted strings.
- Interpret
#as start of comment only if preceded by whitespace.
- Add type hints and expose them to users (@qnighy)(#172)
load_dotenvanddotenv_valuesnow accept anencodingparameter, defaults toNone(@theskumar)(@earlbread)([#161])- Fix
str/unicodeinconsistency in Python 2: values are alwaysstrnow. (@bbc2)(#121) - Fix Unicode error in Python 2, introduced in 0.10.0. (@bbc2)(#176)
- Add support for UTF-8 in unquoted values (@bbc2)(#148)
- Add support for trailing comments (@bbc2)(#148)
- Add backslashes support in values (@bbc2)(#148)
- Add support for newlines in values (@bbc2)(#148)
- Force environment variables to str with Python2 on Windows (@greyli)
- Drop Python 3.3 support (@greyli)
- Fix stderr/-out/-in redirection (@venthur)
- Add
--versionparameter to cli (@venthur) - Enable loading from current directory (@cjauvin)
- Add 'dotenv run' command for calling arbitrary shell script with .env (@venthur)
- Add tests for docs (@Flimm)
- Make 'cli' support optional. Use
pip install python-dotenv[cli]. (@theskumar)
set_keyandunset_keyonly modified the affected file instead of parsing and re-writing file, this causes comments and other file entact as it is.- Add support for
exportprefix in the line. - Internal refractoring (@theskumar)
- Allow
load_dotenvanddotenv_valuesto work withStringIO())(@alanjds)(@theskumar)(#78)
- Remove hard dependency on iPython (@theskumar)
- Add support to override system environment variable via .env. (@milonimrod) (#63)
- Disable ".env not found" warning by default (@maxkoryukov) (#57)
- Handle unicode exception in setup.py (#46)
- Fix dotenv list command (@ticosax)
- Add iPython Suport (@tillahoffmann)
- Drop support for Python 2.6
- Handle escaped charaters and newlines in quoted values. (Thanks @iameugenejo)
- Remove any spaces around unquoted key/value. (Thanks @paulochf)
- Added POSIX variable expansion. (Thanks @hugochinchilla)
- Fix find_dotenv - it now start search from the file where this function is called from.
- Add
find_dotenvmethod that will try to find a.envfile. (Thanks @isms)
- cli: Added
-q/--quoteoption to control the behaviour of quotes around values in.env. (Thanks @hugochinchilla). - Improved test coverage.