radicle v2.6.0 released

Radicle v2.6.0 has been released — you can download the latest version from the Roots Dashboard or from the GitHub repo

What’s Changed

Features

  • :sparkles: Add Oxfmt and Oxlint
  • :sparkles: Replace Pint with Mago for PHP formatting and linting

Bug Fixes

  • :bug: Fix make:block command to properly register custom blocks

Chores

  • :wrench: Add recommended VS Code extensions, run Headwind to sort Tailwind classes
  • :wrench: Remove lock files and relax dependency constraints
  • :fire: Remove merge-theme-json in Vite config

Hey Ben! What is the best way to integrate radicle updates into my own disconnected repo? I’m sure there is some git magic to work up, but I’m curious how much of your radicle updates address major changes or new features to the boilerplate. Thanks!

Hey @jdinbound! You can add Radicle as a second remote and pull from it whenever you like. If you want to use git to handle merging in changes:

Lightweight approach (what I’d suggest for most people)

Add Radicle as a remote and use it as a reference to diff against, rather than merging into it:

# once
git remote add radicle [email protected]:roots/radicle.git
git fetch radicle --tags
# whenever you want to check for updates
git fetch radicle --tags
git log --oneline v2.5.0..v2.6.0  # commits since your baseline
git diff v2.5.0..v2.6.0           # the actual changes

where v2.5.0 is whatever version you started from. From there you can pull in pieces selectively:

git diff v2.5.0..v2.6.0 -- composer.json   # scope the diff to one file
git checkout v2.6.0 -- path/to/file        # take a file wholesale
git cherry-pick <sha>                      # apply one commit (works fine across unrelated histories)

You’ll want to eyeball anything you’ve customized rather than let git guess

Merge approach

If you’d rather git did the work:

git fetch radicle --tags
git merge v2.6.0 --allow-unrelated-histories

If you originally cloned the repo you can drop --allow-unrelated-histories. If you started from a download, the first merge will be noisy, but after that you have a merge base and future merges behave normally.

As for how much the updates matter: it varies. Some releases are dependency bumps and small config tweaks, others also contain new features and refactors worth adopting. The changelogs at https://github.com/roots/radicle/releases walk through each one, so you can judge what’s worth updating your project with.

FWIW, my approach is to just selectively pull in changes by grabbing a diff from the PR (add .diff to the PR url), or straight up copy-and-pasting if it’s a simple change.

Beautiful, that makes perfect sense. I’ll keep an eye on the changelog over time and merge what I need!