Version 1.x was about making your library beautiful. Scan it, convert it, tag it, dress it in real cover scans, split the vinyl rips, push it to the iPod. That work is done, and it works well.
But there is an honest gap in the app today. CrateDigger is a workshop. You open it when you have a job to do, you do the job, and you close it. What it cannot yet be is the app you open on a Tuesday night because you want to hear something. Version 2.0 is about closing that gap.
Where this is now
2.0 is being built in the open, one beta a week. Phase 0 has shipped, in 2.0.0 beta 2: CrateDigger now records play counts, skips, when you last heard a record, when it was added, and a one to five star rating, and the browser's selection and sorting moved into the tested core of the app. None of it is visible in the browser yet. It is the foundation the phases below stand on.
Betas are for people who want to watch this happen and can put up with rough edges. They are separate from the stable release in every way that matters: they carry their own update feed, so a mistake in a beta has no route to anyone running 1.5.x. To get them, turn on Settings, Advanced, Receive beta updates, or download the latest beta directly. Point CrateDigger at a copy of your library rather than the only copy, and keep a stable install to fall back to.
Three things stand in the way
You cannot search your own library. There is no search field in the browser. Not in the sources list, not over artists, not over tracks. On a small crate you scroll. On a real collection you give up. This is the single most surprising gap in the app and it is the first thing 2.0 fixes.
Nothing records that you played anything. Last.fm gets the scrobble and CrateDigger keeps nothing for itself. There is no play count, no last played date, no date added, no rating. Every question that starts with "what have I actually been listening to" is unanswerable, and so is every crate rule that would depend on it.
Crates never fill themselves. A crate is a list of file paths, which is exactly the right design for what a crate is. It also means every crate you will ever own has to be assembled by hand, one record at a time, forever.
Phase 0: the foundations SHIPPED
Unglamorous, and everything else depends on it. CrateDigger now keeps play count, skip count, last played, date added and a rating for every track. It is a small change to the model and it unlocks a disproportionate amount of what follows.
At the same time, browser state (selection, sort, and the filtering that Phase 1 will add) moved out of the view model and into the tested core library. That view model is the largest file in the project and it owned almost everything. Every feature below got cheaper once it stopped being the place where all behaviour lives.
Both landed in 2.0.0 beta 2. One decision is worth naming, because it is the difference between this data surviving and not: the listening history lives in its own file beside your crates, not inside the track index. The index gets rebuilt whenever a file is rescanned, retagged or moved, and anything stored in it would have been one forgotten line away from being silently wiped. Play counts cannot be recovered from anywhere, so they got their own file, and every path that renames or moves a track carries them across.
Phase 1: find anything
One field, one keystroke to reach it, results as you type. It searches artist, album, track title, file path and format across the crate you are in, with a mode that widens to every crate you own. The index it searches is already built and already in memory, so this should feel instant rather than merely fast.
Sortable browser columns land here too. And because the console deserves it, SEARCH becomes a view on the OLED display, the way CNVRT and SCAN already are. A tuner sweeping for a station is the right metaphor and the hardware already has the shape for it.
Phase 2: crates that fill themselves
A smart crate is a rule set instead of a list of paths. It sits in the same sidebar, in the same place, behaving the same way, so there is no second concept to learn. It just stays current on its own.
Rules run over what CrateDigger already knows about every file: format, bitrate, sample rate, year, genre, album artist, whether it has artwork, whether it looks like a duplicate. Phase 0 adds the interesting half of the list: never played, most played, added this month, rated four stars and up.
This is the most natural feature in the whole plan, because it extends the crate idea rather than bolting a new one alongside it.
Phase 3: library health, in one place
CrateDigger can already find your duplicates, repair broken tags, relink files that moved out from under it, and fill in missing covers in batch. Almost nobody knows that, because each capability lives behind a different menu item in a different corner of the app.
Phase 3 gathers them into one panel that opens with a straight answer: 41 albums with no cover, 18 tracks whose files have moved, 62 probable duplicates, 9 albums with no year. Every row is a smart crate. Click it, see exactly what it means, fix it in batch. This is mostly surfacing work rather than new engines, which is what makes it worth doing early.
Phase 4: the listening room
A queue you can actually edit: drag to reorder, play this next, see what is coming. Resume where you left off when you reopen the app. And a stats view on the glass, built on Phase 0 data, showing your most played records of the month and the year. Cheap to build, genuinely fun, and precisely the sort of thing an OLED panel on a piece of imaginary hardware should be doing.
Two bets worth making
Audio fingerprinting for untitled rips. SHIPPED Split a vinyl side with Record Divider and you are left holding eight files with no titles. Fingerprinting is what finishes that job: identify the recording by its audio, then fill the tags. This landed in 2.0.0 beta 2 as Deep Scan, in the Fix Tags window: press it when the record Fix Tags proposes looks wrong, or take the offer when nothing matched by name. It identifies each track by what it sounds like and pairs it to the right position on the record, which is exactly the case where reading the tags cannot help.
Loudness normalisation. A shelf of records ripped across twenty years plays back at twenty different volumes. FFmpeg already ships the analysis, so this is mostly a question of where the numbers get stored and how the player applies them. The Patch Bay even has the switch for it already, which is a fair sign of where this was always heading.
What is deliberately not in 2.0
An iOS companion, or any kind of cloud sync. That is a second product wearing the same name, and it would consume the entire release on its own.
DJ performance features. Beat detection, key detection, waveform decks. The name tempts you toward it, but that is Rekordbox, and Rekordbox is very good at being Rekordbox. CrateDigger is for the crate, not the booth.
No dates
Phases are ordered by what unblocks what, not by calendar. 1.x shipped nineteen releases in seven weeks by shipping what was ready, and that is not going to change now.
If something here is wrong, or something you need is missing, the issue tracker is open and this plan is not carved into anything. The best argument wins.