Users have reported this and have been able to workaround it by pinning dotenv to 2 See #712
Also, there's a related PR #716 Totally get taking the approach to pin to lower versions. I've done it myself when there's a time-crunch.
This PR upgrades Jets so it works with the newer Dotenv 3.0 version and requires it. This will mean that users who have already pinned dotenv 2 in their Gemfile, will need to remove it.
Eventually, found that older versions of gems become vaporware. Maintainers have other things in life than trying to keep old versions working 🤣
Some notes/thoughts about gem version pinning:
I wanted to note that Jets does not pin to strict versions in the gemspec because there are some advantages to this.
This allows users to control and handle pinning. This can get them out of binds when needed. I've seen too many gems over time pins to old versions, and then it eventually becomes impossible for the bundler to resolve the gem dependency graph due to pins of versions that are too old.
I've found that pinning in the gemspec to a >= greater version requirement works better. Learned it the hard way by using ~> previously and causing issues with that.
Using >= allows users to have still enough control over gem versions in their `Gemfile.
Some notes about dotenv 3.0 behavior:
The ordering of the files are in reverse now. This is part of the PR fix.
It won't load env vars that are already loaded more aggressively. It's a nice performance optimization. This is why we need a @@vars cache now.
This is a 🐞 bug fix.
bundle exec rspec
to verify this)Summary
Fixes for Dotenv 3.0. Dotenv 3.0 made some breaking changes in order to make some good improvements. See it's changelog: https://github.com/bkeepers/dotenv/blob/main/Changelog.md
Users have reported this and have been able to workaround it by pinning dotenv to 2 See #712
Also, there's a related PR #716 Totally get taking the approach to pin to lower versions. I've done it myself when there's a time-crunch.
This PR upgrades Jets so it works with the newer Dotenv 3.0 version and requires it. This will mean that users who have already pinned dotenv 2 in their Gemfile, will need to remove it.
Eventually, found that older versions of gems become vaporware. Maintainers have other things in life than trying to keep old versions working 🤣
Some notes/thoughts about gem version pinning:
>=
greater version requirement works better. Learned it the hard way by using~>
previously and causing issues with that.>=
allows users to have still enough control over gem versions in their `Gemfile.Some notes about dotenv 3.0 behavior:
@@vars
cache now.Context
Closes #712 #716
How to Test
Create and deploy a Jets demo app.
Version Changes
Patch