Skip to content

Loosen pi_bridge Elixir requirement to ~> 1.16#5

Merged
dannote merged 4 commits into
elixir-vibe:masterfrom
gilbertwong96:chore/loosen-elixir-1.16
Jun 15, 2026
Merged

Loosen pi_bridge Elixir requirement to ~> 1.16#5
dannote merged 4 commits into
elixir-vibe:masterfrom
gilbertwong96:chore/loosen-elixir-1.16

Conversation

@gilbertwong96

@gilbertwong96 gilbertwong96 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Loosen pi_bridge's elixir: requirement from ~> 1.20 to ~> 1.16 so legacy projects still on Elixir 1.16–1.19 can adopt the bridge.
  • Apply the same loosening to the bundled packages/fixtures/demo_project fixture for consistency.
  • Add an Unreleased CHANGELOG entry describing the change and the dep follow-up.

Why

The previous ~> 1.20 requirement was too strict for projects on supported-but-older Elixir releases. The bridge code itself does not require 1.20 features; the floor was set higher than necessary.

Paired dependency change

The runtime dep json_codec ~> 0.1.3 (hex) still pins elixir: "~> 1.20" upstream, so until a json_codec release is published with the same loosened requirement, mix deps.get on 1.16–1.19 will still fail at deps resolution. A paired PR is open:

Once json_codec 0.1.5 is published to hex, a follow-up commit on this branch will bump packages/bridge/mix.exs to pin {:json_codec, "~> 0.1.5"} (or wider) so the looser floor actually takes effect for downstream consumers.

Checks

  • pnpm run check:js — passes
  • pnpm run check:beam (mix ci — compile/format/credo/dialyzer/ex_dna/reach) — passes
  • pnpm run hex:check — passes
  • pnpm run pack:check — passes
  • pnpm run test:beam (mix test) — 119/123 pass; the 4 failures are pre-existing QuackDB tests that require the duckdb binary (also fail on master without these changes)

The pi_bridge Mix project pinned elixir: "~> 1.20", which is too
strict for legacy projects still on Elixir 1.16–1.19. Loosen the
requirement to "~> 1.16" in the bridge and the bundled demo_project
fixture so adoption on older Elixir releases is at least allowed by
mix.exs.

Note: the runtime json_codec dep (hex: ~> 0.1.3) currently pins
"~> 1.20" upstream, so installing pi_bridge on 1.16–1.19 still
fails at deps resolution until a json_codec release is published
with the same loosened requirement. Tracked separately.
@dannote dannote force-pushed the chore/loosen-elixir-1.16 branch from 2b9ee86 to d7bd44e Compare June 15, 2026 16:04
@dannote dannote merged commit f0ec3ff into elixir-vibe:master Jun 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants