Today we're shipping a small but lovely upgrade to Flare: every query exception now comes with a SQL statement you can actually copy and run.
Here's what query exceptions used to look like:

Query exceptions in Flare have shown the executed SQL for years. Can you spot the problem? Those UUIDs are strings, so they need quotes. Paste this into your database client and you get a syntax error. Laravel builds the message that way on purpose (exception constructors have to stay cheap and safe), so the bindings go in raw.
We weren't happy with that. Flare is where you go to fix things fast, and a broken SQL string slows you down every time you hit one.
So we added a step in the newest laravel-flare client. Before the message is sent to Flare, we walk the bindings and format them properly:

Click, copy, paste, run. The way it should have always been.
Happy debugging!
Continue reading
One core, many clients: the new Flare JavaScript client architecture
We recently reshaped the Flare JavaScript client from a single browser library and a few thin framework specific packages into a small family of packages built on a shared, platform-agnostic core. This post explains why we did it, what the core package exposes, how the browser and Node SDKs are built on top of it, why the React, Vue, and Svelte packages sit one level higher, and how anyone can use the same core to write a Flare JS client for a platform we do not ship ourselves.
Dries
Logging is here!
Logging is now available for all Flare users! Send any log from your app to Flare and use our polished interface to filter and search your logs in real-time.
Jimi
Subscribe to Backtrace, our quarterly Flare newsletter
No spam, just news & product updates