All notable changes to this project will be documented in this file. The format is inspired by Keep a Changelog and this project adheres to Semantic Versioning.
v0.12.0 - 8-November-2024
- Include prefix in the
ImproperlyConfigured
error message #513.
- Add support for Python 3.12 and 3.13 #538.
- Add support for Django 5.1 #535.
- Add support for Django CockroachDB driver #509.
- Add support for Django Channels #266.
- Disabled inline comments handling by default due to potential side effects. While the feature itself is useful, the project's philosophy dictates that it should not be enabled by default for all users #499.
v0.11.2 - 1-September-2023
- Revert "Add variable expansion." feature due to #490.
v0.11.1 - 30-August-2023
- Revert "Add interpolate argument to avoid resolving proxied values." feature due to #485.
v0.11.0 - 30-August-2023
- Added support for Django 4.2 #456.
- Added support for secure Elasticsearch connections #463.
- Added variable expansion #468.
- Added capability to handle comments after
#
, after quoted values, likeKEY= 'part1 # part2' # comment
#475. - Added support for
interpolate
parameter #415.
- Used
mssql-django
as engine for SQL Server #446. - Changed handling bool values, stripping whitespace around value #475.
- Use
importlib.util.find_spec
toreplace pkgutil.find_loader
#482.
- Removed support of Python 3.5.
v0.10.0 - 2-March-2023
- Use the core redis library by default if running Django >= 4.0 #356.
- Value of dict can now contain an equal sign #241.
- Added support for Python 3.11.
- Added
CONN_HEALTH_CHECKS
to database base options #413. - Added
encoding
parameter toread_env
with default value 'utf8' #442. - Added support for Django 4.1 #416.
- Support of Python < 3.6 is deprecated and will be removed in next major version.
- Used UTF-8 as a encoding when open
.env
file. - Provided access to
DB_SCHEMES
throughcls
rather thanEnv
indb_url_config
#414. - Correct CI workflow to use supported Python versions/OS matrix #441.
- Reworked trigger CI workflows strategy #440.
- Fixed logic of
Env.get_value()
to skip parsing only whendefault=None
, not for all default values that coerce toFalse
#404. - Deleted duplicated include in docs/quickstart.rst #439.
- Removed deprecated
Env.unicode()
. - Removed
environ.register_schemes
calls and do not modify globalurllib.parse.urlparse
'suses_*
variables as this no longer needed #246.
v0.9.0 - 15-June-2022
- Added support for Postgresql cluster URI #355.
- Added support for Django 4.0 #371.
- Added support for prefixed variables #362.
- Amended documentation.
Env.unicode()
is deprecated and will be removed in the next major release. UseEnv.str()
instead.
- Attach cause to
ImproperlyConfigured
exception #360.
- Fixed
_cast_urlstr
unquoting #357. - Fixed documentation regarding unsafe characters in URLs #220.
- Fixed
environ.Path.__eq__()
to compare paths correctly #86, #197.
v0.8.1 - 20-October-2021
- Fixed "Invalid line" spam logs on blank lines in env file #340.
- Fixed
memcache
/pymemcache
URL parsing for correct identification of connection type #337.
v0.8.0 - 17-October-2021
- Log invalid lines when parse
.env
file #283. - Added docker-style file variable support #189.
- Added option to override existing variables with
read_env
#103, #249. - Added support for empty var with None default value #209.
- Added
pymemcache
cache backend for Django 3.2+ #335.
- Keep newline/tab escapes in quoted strings #296.
- Handle escaped dollar sign in values #271.
- Fixed incorrect parsing of
DATABASES_URL
for Google Cloud MySQL #294.
v0.7.0 - 11-September-2021
- Added support for negative float strings #160.
- Added Elasticsearch5 to search scheme #297.
- Added Elasticsearch7 to search scheme #314.
- Added the ability to use
bytes
orstr
as a default value forEnv.bytes()
.
- Fixed links in the documentation.
- Use default option in
Env.bytes()
#206. - Safely evaluate a string containing an invalid Python literal #200.
- Added 'Funding' and 'Say Thanks!' project urls on pypi.
- Stop raising
UserWarning
if.env
file isn't found. Log a message withINFO
log level instead #243.
v0.6.0 - 4-September-2021
- Python 3.9, 3.10 and pypy 3.7 are now supported.
- Django 3.1 and 3.2 are now supported.
- Added missed classifiers to
setup.py
. - Accept Python 3.6 path-like objects for
read_env
#106, #286.
- Fixed various code linting errors.
- Fixed typos in the documentation.
- Added missed files to the package contents.
- Fixed
db_url_config
to work the same for all postgres-like schemes #264, #268.
- Refactor tests to use pytest and follow DRY.
- Moved CI to GitHub Actions.
- Restructuring of project documentation.
- Build and test package documentation as a part of CI pipeline.
- Build and test package distribution as a part of CI pipeline.
- Check
MANIFEST.in
in a source package for completeness as a part of CI pipeline. - Added
pytest
andcoverage[toml]
to setuptools'extras_require
.
v0.5.0 - 30-August-2021
- Support for Django 2.1 & 2.2.
- Added tox.ini targets.
- Added secure redis backend URLs via
rediss://
. - Added
cast=str
tostr()
method.
- Fixed misspelling in the documentation.
- Validate empty cache url and invalid cache schema.
- Set
long_description_content_type
in setup. - Improved Django 1.11 database configuration support.
v0.4.5 - 25-June-2018
- Support for Django 2.0.
- Support for smart casting.
- Support PostgreSQL unix domain socket paths.
- Tip: Multiple env files.
- Fix parsing option values
None
,True
andFalse
. - Order of importance of engine configuration in
db_url_config
.
- Remove
django
andsix
dependencies.
v0.4.4 - 21-August-2017
- Support for
django-redis
multiple locations (master/slave, shards). - Support for Elasticsearch2.
- Support for Mysql-connector.
- Support for
pyodbc
. - Added
__contains__
feature to Environ class.
- Fix Path subtracting.
v0.4.3 - 21-August-2017
- Rollback the default Environ to
os.environ
.
v0.4.2 - 13-April-2017
- Confirm support for Django 1.11.
- Support for Redshift database URL.
v0.4.1 - 13-November-2016
- Add support for Django 1.10.
- Fixed for unsafe characters into URLs.
- Clarifying warning on missing or unreadable file. Thanks to @nickcatal.
- Fixed support for Oracle urls.
- Fixed support for
django-redis
.
v0.4 - 23-September-2015
- New email schemes -
smtp+ssl
andsmtp+tls
(smtps
would be deprecated). - Added tuple support. Thanks to @anonymouzz.
- Added LDAP url support for database. Thanks to django-ldapdb/django-ldapdb.
- Fixed non-ascii values (broken in Python 2.x).
redis_cache
replaced bydjango_redis
.- Fixed psql/pgsql url.
v0.3.1 - 19 Sep 2015
- Added
email
as alias foremail_url
. - Django 1.7 is now supported.
- Added LDAP scheme support for
db_url_config
.
- Fixed typos in the documentation.
- Fixed
environ.Path.__add__
to correctly handle plus operator. - Fixed
environ.Path.__contains__
to correctly work on Windows.
v0.3 - 03-June-2014
- Added cache url support.
- Added email url support.
- Added search url support.
- Rewriting README.rst.
Env.__call__
now usesEnv.get_value
instance method.
- Added advanced float parsing (comma and dot symbols to separate thousands and decimals).
- Fixed typos in the documentation.
- Initial release.