Initial proposal to update to otp-29/Elixir 1.20 - #218
Open
thiagoesteves wants to merge 1 commit into
Open
Conversation
thiagoesteves
force-pushed
the
thiagoesteves/update-to-otp-29
branch
2 times, most recently
from
June 17, 2026 17:33
c1e7047 to
ad4c48c
Compare
thiagoesteves
force-pushed
the
thiagoesteves/update-to-otp-29
branch
6 times, most recently
from
June 17, 2026 17:54
e3a062d to
41b92e0
Compare
thiagoesteves
marked this pull request as ready for review
June 17, 2026 18:58
thiagoesteves
force-pushed
the
thiagoesteves/update-to-otp-29
branch
2 times, most recently
from
July 14, 2026 14:11
c58cab6 to
14bad77
Compare
Rebased onto main at 0.9.13. The conflicting hunks were resolved in favour of main wherever main had moved on (mix.lock, the multi_select markup, the catalog test that main already switched to async: false, the FinchStream callback typedoc), keeping only the OTP-29 intent from this branch. Workflow fixes: - The release workflows were left in a hybrid state by the matrix rebase (#246): matrix still [27, 28] plus an appended old-style job referencing env vars that no longer exist. The matrix is now [28, 29] and the orphaned jobs are removed. - The hot upgrade workflow offers 28/29 and defaults to 29. Toolchain: - .tool-versions and devops/releases/otp-29 pin erlang 29.0.3 and elixir 1.20.2-otp-29; the OTP-28 release keeps main's 28.5.0.4. - Version moved to 0.10.0-rc1. Library updates (no vulnerabilities reported by mix deps.audit): - phoenix_live_view 1.0.18 -> 1.2.9 (requirement relaxed to ~> 1.2) - gettext 0.26.2 -> 1.0.2 (already using the Gettext.Backend pattern) - briefly 0.4.1 -> 0.5.1 - lazy_html added as a test dependency, required by the LiveView 1.2 test helpers. Its elixir_make ~> 0.9 requirement is satisfied by the 0.10.0 already locked, so no downgrade is needed any more. - Every other dependency stays on the version main locked. Source and test updates: - Unused `require Logger` removed where the new compiler flags it - mode_test option assertions made tolerant to attribute order and boolean attribute serialization, since lazy_html renders differently - The two remaining Foundation catalog test modules are no longer async: they share the var_path tree and raced with each other's cleanup Docs consistency: - Changelog 0.10.0 section: baseline is 0.9.13, the OTP-27 drop sits under backwards incompatible changes, host binary labels fixed (OTP 28/29) - README version table: OTP-29 column added, existing rows marked "-", and a 0.10.0 🔜 row with 28.5.0.4 / 29.0.3 Validated under Erlang 29.0.3 / Elixir 1.20.2-otp-29 after the rebase: 807 tests pass, coverage above threshold in all apps, compile --warnings-as-errors, format check, deps.unlock --check-unused, credo --strict, mix docs --failed, deps.audit, sobelow and dialyzer (0 errors) all clean. Risk assessment: - Impact: completes the OTP-29 rollover so PR CI runs on OTP 29 and releases build for OTP 28/29. - Blast radius: release workflows, dependency versions (the LiveView 1.0 -> 1.2 jump is the largest), test suite, docs. - Regression risk: medium. LiveView 1.2 changes DOM test serialization; the full suite plus every static check passes, but the tag-triggered release workflows still need a real run, so a non-main rc tag is recommended before the 0.10.0 release. - Rollback: revert this commit; the branch remains on the previous library set via mix.lock history.
thiagoesteves
force-pushed
the
thiagoesteves/update-to-otp-29
branch
from
August 14, 2026 20:42
14bad77 to
e35993b
Compare
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.
No description provided.