chore: upgrade posthog from 2.4.0 to 2.5.0#37
Conversation
Versions 2.6.0+ introduce Regex defaults in the configuration schema that contain OTP 28 NIF references, which cannot be serialized to bytecode. 2.5.0 is the latest version compatible with OTP 28. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Code ReviewOverviewThis PR bumps the What's Good
Concerns and Suggestions1. Collateral transitive dependency upgrades (medium risk) The lock file includes upgrades beyond posthog that weren't explicitly requested:
The 2. Tests not run The PR notes 3. Version pin will need manual attention later
# Pinned to 2.5.0: versions 2.6.0–2.10.0 have a NimbleOptions compile-time
# regression (Reference escape into BEAM bytecode). Re-evaluate on next release.
{:posthog, "~> 2.5.0"},4. No upstream issue link The PR describes a specific upstream bug but doesn't link to the posthog issue tracker or hex changelog entry. Adding a link would help future maintainers know when it's safe to loosen the constraint. SummaryThe change is correct and well-motivated. Minor suggestions:
The core change is sound. Approved with nits. |
|
What should we do to upgrade to 2.10? Maybe upgrade Erlang and Elixir? |
Summary
posthogdependency constraint from~> 2.0(locked at 2.4.0) to~> 2.5.0(resolves to 2.5.0)NimbleOptions.new!()produces a#Referencevalue that Elixir cannot escape into BEAM bytecode when the schema is used as a module attribute inside a function. This causes anArgumentErrorinlib/posthog/config.exat compile time.Test plan
mix compile— no warnings introducedmix dialyzer— 0 errorsmix format --check-formatted— cleanmix test— requires PostgreSQL (not available in CI sandbox); no call-site changes were made🤖 Generated with Claude Code