Hey, hope you're doing well!
I have a few things to touch on in today's newsletter: Svelte 4, a new blog post, and two in-person talks coming up this month.
Svelte 4 was released about a week ago! It is mostly a behind-the-scenes update, and breaking changes should be minimal for most users. However, it does have some exciting improvements around custom element generation, IDE autocomplete, and hydration performance. See the full announcement and migration guide for more.
As part of the release, I was on two different shows to talk about it:
First, PodRocket had me on for an episode where I discussed what's new in Svelte 4 as well as what's changed on the revamped Svelte documentation site. This was a great chat with an impressive turnaround - it was edited and posted 24 hours after recording!
Then last week This Dot Labs (who previously hosted a State of Svelte event) had me and a couple other folks from the Svelte team (Ben McCann, Simon Holthausen, and Puru Vijay) on to discuss the release as part of a Svelte 4 Launch Party stream.
I really enjoyed both discussions, and I think they're well worth listening/watching if you need more Svelte content in your life.
I wrote my first non-Svelte-related blog post in a while for my company's engineering blog: "A passing test is not always enough." It talks about how when you're writing any sort of automated tests for your code projects, it's important to make sure they can fail. Otherwise, why are they even there?
Best case, the code behind your never-failing test is doing what it’s supposed to do. But worst case, the code you wrote is secretly broken, and having a passing test is giving you false confidence. A test that never fails is worthless.
Part of the reason I've been less active on my own blog lately, is that I've been heads-down prepping for some in-person talks I'll be giving this month about SvelteKit.
First, on July 12 I'll be speaking at this month's SeattleJS meetup with "Web development, streamlined: an introduction to SvelteKit." I'm planning this as an introductory SvelteKit talk, though there should be something for those already familiar with SvelteKit too!
Then on July 26, I'll be speaking at THAT Conf in Wisconsin on "Intermediate SvelteKit: Beyond the Basics." This will be more advanced than the Seattle talk, though hopefully still accessible if you haven't encountered SvelteKit before. I'll be focusing on all the ways you can use SvelteKit's
load function as well as progressive enhancement with the
If you're in the area for either of these, I'd love to have you there! I don't think either will be recorded, but I'll plan on publishing slides and talk notes on my blog (and likely repurposing the content for other blog posts).
For both these talks I've prepped a new SvelteKit demo I've dubbed Sveltunes. It's a music catalog demo app using the Discogs API - you can search for artists and albums, view info about each, and save your favorites. This demo will also be used for an upcoming JS Drop I recorded for This Dot Labs.
My goal with Sveltunes was to create a demo that showed off a bunch of the capabilities and features of SvelteKit, and I may use it for blog posts in the future. For example, it includes data loading with the
load function, data preloading, progressively enhanced form actions, streaming, and more.
Note: as per the README, this is not suitable to be deployed anywhere yet.
This is meant to be a local demo and is not suitable for deployment, since "auth" is a setting a hard-coded session cookie and "the database" is an in-memory object.
Percy has become a big fan of bathtubs (and any running water) lately.