Usertour logo
Back to Blog

Usertour v0.4.0 – Engineering the boring parts until they disappear

Eason
12/5/2025

Not every release needs more features.

Some releases are about slowing down, looking at the foundations, and asking: "Is this actually solid?"

Usertour v0.4.0 is one of those releases.

This version isn't about adding more widgets or configuration knobs. It's about refining the core architecture so the SDK and real-time system behave correctly, consistently, and predictably — even when things go wrong.


A deliberate focus on robustness, not features

In v0.4.0, most of the work went into parts users rarely see:

  • SDK lifecycle management
  • WebSocket reconnection and deduplication
  • cross-tab state synchronization
  • timer ownership and cleanup

These are not exciting problems — but they're the problems that decide whether a system feels trustworthy or fragile.

The SDK and WebSocket API were reworked with a more modern, explicit, and defensive design:

  • a more reliable Socket.IO-based real-time layer
  • better reconnection handling without duplicate sessions
  • consistent state across browser tabs
  • a centralized Timer Manager instead of scattered timeouts

The goal was simple: make onboarding boring again — in the best possible way.


Real-time that behaves like infrastructure

Real-time onboarding should behave more like infrastructure than UI.

If the network drops, it should recover quietly. If a user opens a second tab, state should stay consistent. If content changes, the system should converge to the correct version.

v0.4.0 pushes Usertour closer to that ideal:

  • Launcher, Flows, and Checklists stay synchronized across tabs
  • reconnects don't trigger duplicated logic
  • published content is always served as the source of truth

Nothing flashy. Just fewer edge cases.


Small UX improvements, backed by stronger internals

Some improvements do show up in the UI, but they're all downstream of stronger internals.

Checklists now:

  • keep session-level snapshots of item states (hidden / clicked / completed)
  • show a countdown progress bar when auto-dismiss is enabled

These features are only reliable because the underlying session and real-time model is now more robust.


Safer flow startup and iteration

Flows now start with a simple rule: run the latest published truth.

When a flow begins, Usertour compares the running version with the latest published version and automatically starts a new session if needed.

This removes subtle failure modes where users unknowingly run outdated logic — a common problem when onboarding evolves quickly.


Engineering polish in the editor

v0.4.0 also includes fixes that reflect the same philosophy:

  • editor state persists correctly
  • backdrop opacity is editable again
  • element targeting is more resilient to DOM changes

Individually small, collectively important.


Why v0.4.0 matters

This release is a statement about priorities.

Usertour is not trying to win by shipping the most features the fastest. It's trying to be a platform developers can rely on, even under messy real-world conditions.

v0.4.0 is about engineering discipline:

  • fewer surprises
  • fewer edge cases
  • more predictable behavior

It's the kind of release that doesn't shout — but makes everything else possible.


Links