← All updates

v0.3.0: find the moment, get it out

Scrubbing that keeps up with your finger, a License plate page rebuilt around a plate's whole history on desktop and Android, exports you can hand to someone, and a server-wide security and correctness sweep.

BackendDesktopAndroidiOSWeb releaseplaybacklprexportsecurity

v0.2.0 finished Home Assistant. v0.3.0 is about the two things you do most once footage exists: finding a moment, and getting it out.

Scrubbing that keeps up

Dragging a timeline used to show you a picture that lagged behind your finger. The server can now build a strip of one-per-second preview frames for each recorded segment, and the desktop and Android clients show them while you drag, so the frame you see is the second you are on.

The desktop also got a lot faster at the actual seek: seeks are coalesced, decoded frames are cached and prefetched, the next segment opens while you pause on a spot, and panes you are not looking at stop working. On Android, seeks start sooner and dragging inside the segment that is already loaded seeks it live.

The preview strips cost some CPU and disk, so they stay behind the existing thumbnail pre-generation switch, off by default. The docs now give the measured cost so you can decide whether your box has room.

License plates, redesigned

The Plates page on the desktop is now built around a plate rather than a stream of reads. A ledger list groups reads by plate, a plate profile leads with the video clip and shows when and how often that plate turns up, and a Hide regulars toggle takes the cars you see every day off the list.

Android got the same idea, designed for a phone rather than shrunk from the desktop: search with a filter sheet, rows that keep the crop's real shape, and a plate profile with the visit history and time-of-day chart.

When the reader gets a character wrong, you can now tell Crumb which plate it really was, and that read is filed under the right plate from then on.

Search finds plates by name now, too. Name a plate "Chuck" and typing chuck finds every sighting of that car, in every app. Searching for a misread you corrected brings back the real plate's whole history, not just the misread ones.

Exports you can hand to someone

Exports have readable file names, a choice of one zip or separate files, and a real size estimate before you start. On Android, export now works from playback: set in and out marks on the timeline and export that range.

A security and correctness sweep

The half of this release you should never notice. A login token can no longer end up in a URL anywhere. Removing a user, or changing their password or role, now signs out their devices straight away. /metrics needs a credential. Media work that used to queue without limit now answers "busy, retry" instead of hanging. On the recorder side, retention and eviction were made safe on a full, read-only, or missing disk, and recording no longer depends on the API being up.

Your camera order, everywhere

An admin can drag cameras into order once, in the console, and the Windows, Android, iPhone and Mac apps and the console all list them that way. Connected apps pick the new order up on their own. New cameras go at the end until you place them.

Also in this release

Fullscreen on the desktop keeps every live tile playing, including through F11 and Esc, where tiles used to get stuck on spinners.

Simple or advanced playback controls on Android. A short control set for everyday use, or the full one. If you were already using Crumb, you keep the advanced set.

The desktop window remembers its size and position, Playback has a snapshot button, and Home Assistant badges can now trigger automations.

A note on macOS and iOS

macOS and iOS are not fully tested in this release. Windows, Android, the server and the web console were tested end to end. The Mac app (and the iOS app, which is not distributed yet) builds and passes its automated tests against 0.3.0, but has not had the same hands-on testing, and it does not have most of the new desktop and Android features yet. Server-side changes such as camera order, plate corrections and searching by name do reach it. If something breaks, please open an issue.

Getting it

Back up your database first. This release adds schema changes that apply on boot, and the changelog has upgrade notes worth a read before you pull, especially if you scrape /metrics or run your own reverse proxy.

docker compose pull && docker compose up -d

The desktop, Android, and macOS builds are attached to the v0.3.0 GitHub release, each with a checksum. The full change list, down to every merged pull request, is in the changelog.

Don't miss the next one.

Watch the repo on GitHub for releases, or grab the RSS.

Get it on GitHub