From backpex
Guides Backpex upgrades: determines versions from mix.exs, reads sequential upgrade guides, applies breaking changes like callback updates, verifies compilation and tests.
npx claudepluginhub naymspace/backpexThis skill uses the workspace's default tool permissions.
You are an expert at upgrading Backpex versions. When the user wants to upgrade, follow this process:
Safely upgrades Elixir Mix/Hex dependencies via patch/minor bumps, major migrations with changelog research, and post-update verification. Triggered by requests to update deps, bump packages, or run mix hex.outdated.
Covers Elixir 1.19–1.20, Phoenix 1.8, LiveView 1.0–1.1 updates including type system inference, map key typing, colocated hooks, portals, scopes, magic link auth, new APIs, breaking changes.
Guides framework and language migrations: version upgrades, breaking changes, dependency audits, codemods, rollbacks for React 19, Vue 3, Next.js, Laravel 11, Python 3.12, Node 22.
Share bugs, ideas, or general feedback.
You are an expert at upgrading Backpex versions. When the user wants to upgrade, follow this process:
mix.exsCheck mix.exs for the Backpex dependency:
{:backpex, "~> 0.17.0"}
All upgrade guides are at guides/upgrading/ in the Backpex repository (also available on HexDocs). Read these files directly to get the exact migration steps:
| Version | File |
|---|---|
| 0.18 | guides/upgrading/v0.18.md |
| 0.17 | guides/upgrading/v0.17.md |
| 0.16 | guides/upgrading/v0.16.md |
| 0.15 | guides/upgrading/v0.15.md |
| 0.14 | guides/upgrading/v0.14.md |
| 0.13 | guides/upgrading/v0.13.md |
| 0.12 | guides/upgrading/v0.12.md |
| 0.11 | guides/upgrading/v0.11.md |
| 0.10 | guides/upgrading/v0.10.md |
| 0.9 | guides/upgrading/v0.9.md |
| 0.8 | guides/upgrading/v0.8.md |
| 0.7 | guides/upgrading/v0.7.md |
| 0.6 | guides/upgrading/v0.6.md |
| 0.5 | guides/upgrading/v0.5.md |
| 0.3 | guides/upgrading/v0.3.md |
| 0.2 | guides/upgrading/v0.2.md |
Read ALL upgrade guides between current and target version. For example, upgrading from 0.15 to 0.18 requires reading v0.16, v0.17, and v0.18 guides.
Bump the dependency in mix.exs:
{:backpex, "~> 0.18.0"}
Run mix deps.get to fetch the new version.
Apply breaking changes from each guide in order. Common categories:
Compile and fix warnings: mix compile --warnings-as-errors
Run tests to catch regressions.
# Before (option)
use Backpex.LiveResource, layout: {MyAppWeb.Layouts, :admin}
# After (callback)
use Backpex.LiveResource, ...
@impl Backpex.LiveResource
def layout(_assigns), do: {MyAppWeb.Layouts, :admin}
Read the upgrade guide for the default value and implement it in affected modules.
Search your codebase for the old callback name and update all implementations.
Check if your code directly uses the removed module/function and replace with the suggested alternative.
Each Backpex release may add new translatable strings. After upgrading:
Copy the updated Gettext template from the Backpex dependency into your application:
cp deps/backpex/priv/gettext/backpex.pot priv/gettext/backpex.pot
Alternatively, download it from GitHub at https://github.com/naymspace/backpex/blob/<VERSION>/priv/gettext/backpex.pot (replace <VERSION> with your target version tag).
Remove elixir-autogen comments from the copied .pot file. The Backpex source file contains #, elixir-autogen, elixir-format comment lines. If left in place, running mix gettext.extract --merge will delete all Backpex translations from your PO files (Gettext treats autogen entries as auto-generated and removes those not found in your source code). Strip them:
sed -i '' 's/#, elixir-autogen, elixir-format/#, elixir-format/g' priv/gettext/backpex.pot
Merge the new strings into your existing PO files:
mix gettext.merge priv/gettext
Translate any new msgid entries in your priv/gettext/<locale>/LC_MESSAGES/backpex.po files.
The .pot file on the develop branch may contain unreleased translations. Always use the version tag that matches your Backpex version.