Loosen elixir requirement to ~> 1.16#1
Merged
Conversation
Downstream projects on Elixir 1.16–1.19 (notably pi_bridge) need to resolve json_codec, but the current "~> 1.20" constraint blocks mix deps.get on those releases. The codec macros and generated codec code do not use any 1.20+ features, so loosen the floor to "~> 1.16". Bump to 0.1.5 so downstream mix.exs can pin the new version.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
elixir:Mix project requirement from~> 1.20to~> 1.16.0.1.4→0.1.5.Why
The current
~> 1.20floor blocks downstream projects (notablypi_bridge) on Elixir 1.16–1.19 from resolvingjson_codecatmix deps.gettime. The codec macros (use JSONCodec,defstructrewriting, generatedfrom_map/dump) and runtime helpers do not use any 1.20+ features — the strict requirement was set higher than the code needs.Compatibility notes
mix.exselixir:field and the version bump.jason ~> 1.4and dev deps are untouched.~> 0.1.3or~> 0.1.4are unaffected by the version bump since~> 0.1.xstill resolves to 0.1.5. To pick up the new floor, dependents must explicitly pin~> 0.1.5(or>= 0.1.5).Follow-up
pi_bridge(elixir-vibe/pi-elixir#5) loosens its ownelixir:to~> 1.16and will pin this newjson_codecversion once published.Checks
Local
mix deps.getandmix compilesucceed on Elixir 1.20.0-otp-29 against the looser constraint. CI for this repo is not present, so a release-timemix testshould be run before publishing 0.1.5 to hex.