← Back to blog

What we shipped in May 2026

lynox is built in the open. The code is public, releases ship through npm and GitHub, and the changelog is there for anyone to read. But “building in the open” doesn’t automatically mean anyone is watching, and honestly, right now almost no one is. That’s fine. This post is the start of something anyway: once a month I stop, look back, and tell you what actually happened. Not in commit-speak, but in a way that makes sense even if you’re not an engineer.

May was the busiest month so far: fifteen releases, from v1.4.0 to v1.7.9. If you just want the granular list, it lives in the changelog. Here’s the story behind it.

An inbox that actually belongs in the inbox

The month opened with the Unified Inbox (v1.4.0): read and reply to email straight inside lynox instead of jumping between tabs. It sounds like one feature among many, but it’s strategic: if an agent is going to help with your daily work, it has to sit where the work lands. The same release carried a full security audit of the codebase, fixing thirteen critical and high-severity findings before anyone could have exploited them. Unglamorous, but exactly the kind of work you should expect from self-hosted software.

Sign in without a password, and finally some light

Mid-May brought passwordless login (v1.6.0): enter your email, get a one-time code, done, alongside passkey and password. Same release: a light mode for everyone who doesn’t want to work in the dark, and a change that matters more than it looks. Managed customers can now connect any API themselves, without filing a support ticket. That was always the promise: your tools, your credentials, no gatekeeper in between. Now it’s true at the technical level too.

Tasks you can save

v1.7.0 added saved workflows: do a multi-step task once, save it as a workflow, re-run it later with a click. Plus a livelier chat — a live ticker showing what the agent is working on, its thinking woven into the answer instead of hidden, and a marker where a long conversation was compacted so you don’t lose the thread.

The fix I’m proudest of

The end of the month was all hardening, and one fix stands out. Before, when web search wasn’t configured, the agent would simply invent results: made-up sources, prices, “recent” numbers. That’s the worst thing an assistant can do, because it’s convincingly wrong. Since v1.7.5 it instead says clearly that it doesn’t know. Honesty by default isn’t a feature on a list. It’s the foundation for being able to trust the thing at all. In the same pass, setup now validates your API key before it saves it, so a typo gets caught up front instead of on your first message.

I deliberately held the launch back

Part of this work was preparation for a public launch, which in the end I deliberately didn’t push out yet. Testing under real conditions surfaced things I want clean before running with “good enough.” Building in public, to me, also means admitting that instead of forcing a date.


That was May. If you made it this far, you’re exactly the kind of person I write this for. The full, granular history is in the changelog, and next month there’ll be another recap.