Laravel 8.70, weekly updates, and 🔥 tip

Laravel 8.70

New features this week gives us a minor version bump, with a fast-follow bumping the patch version. Together, this brings us to Laravel 8.70.1.

Here are the highlights:

  • Add --requests flag to make:controller and make:model in #39120
  • Allow Stringable objects as middleware in #39439
  • Add js helper in #39389
  • Allow can to be chained onto route for quick authorization in #39464
  • Enforce implicit route model scoping in #39440
  • Publish provider.stub file in #39491
  • Accept enums for insert, update, and where values in #39492
  • Add missing flags to Redis zadd options list in #39538
  • Add ability to use withoutMiddleware on route groups in #39545

You may review the full branch diff on GitHub for a complete list of changes.

This version bump and update is automated for subscribers to a Shifty Plan. If you don't have one of those, be sure to bump your constraint and run composer update to get the latest features.

Weekly Journal

More Human Shifts came in last week. I continued working on these as well as taking screenshots of any tweaks I felt could be automated. I fixed a few, but turned the rest into tasks.

I've enjoyed working on these Human Shifts lately. "old apps" connotes they are bad in some way. In reality, these apps are often quite successful and have stood the test of time.

This week, I still need to make the marketing page for the Tailwind 3.x Shift. Jess is still making tweaks to it as well as some of the other Tailwind Shifts. However, we're starting to switch focus back to the Workbench.

With PHP 8.1 being released later this month, we want to build tasks which automate refactoring to the new language features.

In the meantime, there are a handful of Laravel tasks we wanted to add. One of them deals with updating your test suite to utilize the new LazilyRefreshDatabase trait. Another deals with prefixing Eloquent queries with query().

Given all this work, I haven't had time to focus on the tasks. Originally Jess helped with these. But now her time is better spent helping me on Shifts and Workbench tasks.

So, I'm opening some of this additional work to contract. Roughly 20 hours per month. Requirements are pretty straightforward: Laravel, Tailwind, Alpine.js, and speaks English.

Ideally, I'm looking for a junior/intermediate dev to balance budget with the learning experience. If you're interesting in some side work, please reply.

🔥 Tip

Continuing with the 🔥 tip from last week, here's another one relating to Git. I tweeted this already, but I'll share some additional options here.

I often find myself needing to view changes between a range of commits. For example, what changed in the framework between versions, what was added to the Workbench since the last release, or what files changed in the last 5 commits.

I can find out by passing a reference range to git diff:

# all changes
git diff v8.70.0..v8.70.1
# list files which changed
git diff --name-only v8.70.0..v8.70.1
# list only test files which changed
git diff --name-only v8.70.0..v8.70.1 -- tests

I may also pass a single, relative reference. In which case, Git shows changes from the tip of the current branch (HEAD) to that reference.

# files changes in recent 5 commits
git diff --name-only HEAD~5

If you don't know the exact commit, you may use times with git log and --since (or --before).

# changes in the last week
git log --since="last week"