Breaking Changes
- Ruby >= 3.0 and Rails >= 6.1 are now required. Lock dotenv to
~> 2.0
if you are using an outdated Ruby or Rails version. #466, #471 \n
is no longer expanded into a newline in quoted strings. Use multi-line strings with real line breaks, or setDOTENV_LINEBREAK_MODE=legacy
to preserve the old behavior. @nitsujri #423ENV
will be automatically restored between tests (ActiveSupport::TestCase
andRspec
). #472, #475- Fixed precedence when using
Dotenv::Rails.overload
. So now.env.development.local
will overwrite.env.local
, which will overwrite.env.development
, which will overwrite.env
. @eriklovmo - #460 - The instrumentation event
dotenv.load
has been renamed toload.dotenv
to properly make use of namespaces in ActiveSupport::Notifications #472
Other improvements
- All changes to ENV will be logged in Rails apps. #473
- Fixed an issue where
rake
loaded development files (.env*development
) for test-related tasks. #470 - Add
-i
/--ignore
option todotenv
CLI to optionally ignore missing files. @stevenharman #463 - You can customize which files get loaded by setting
Dotenv::Rails.files
. #468
Deprecations
- The
dotenv-rails
gem is now superfluous. It's not technically deprecated yet and will continue to work, but thedotenv
gem does the same thing. #468 Dotenv::Railtie
has been deprecated. UseDotenv::Rails
. #468Dotenv.overload
has been replaced withoverwrite
.overload
will still work and is not technically deprecated, but documentation refers toDotenv.overwrite
now. #469
New Contributors
- @stevenharman made their first contribution in #463
- @eriklovmo made their first contribution in #460
- @nitsujri made their first contribution in #423
Full Changelog: v2.8.1...v3.0.0.beta