← Blog & Notes
Versions 9 min read

How to Keep Track of Song Versions in Your DAW

One folder, fourteen WAVs, and a filename that lies to you. A naming system that holds up, and the part no naming system on earth can fix.

In this article

Open the folder for your most-played track and count the WAVs. Nine, maybe fourteen, at least one of them named final_v3_REAL, and no honest way to say which is current. Anyone who has ever searched how to keep track of song versions owns that folder. What it takes to repair is smaller than you fear: one naming decision you make once, a hard look at why your last system died, and a piece of software doing the single job no human does reliably on the fortieth save.

Keeping track of song versions: two problems, not one

There are two things people mean when they say “song versions”, and they are not the same thing.

The first is bounce versions: the WAVs and MP3s you export. A bounce is frozen. It was rendered once, it will never change, and everything worth knowing about it fits in its filename. Naming rules genuinely solve this problem, which is why the next section is a naming scheme and not a pep talk.

The second is project versions: the session itself as it changes over time. The .als, the .flp, the .cpr. A project is alive. It changed last night, it will change again tomorrow, and between those two states there might be forty saves, each one silently overwriting the last. No filename carries that story, and nobody writes it down while it is happening.

Most versioning advice fails because it hands you a filename convention and quietly implies it covers both. It covers the first. The second needs something that does not depend on you.

A bounce naming scheme you can still read in eight months

Song version naming has exactly one job: a stranger, or you in eight months, should be able to sort the folder and read the track’s history without opening a single file. This field order does that. Every bounce, every time:

YYYY-MM-DD_trackname_vNN_stage_note.wav

Worked examples, from a real kind of week:

2026-07-30_nights_v07_mix_new-bass.wav
2026-08-14_nights_v08_mix_darker-hats.wav
2026-08-19_nights_v09_master_streaming.wav

Why each field earns its place:

  • Date first, in year-month-day order. File browsers sort alphabetically, and ISO dates alphabetize into chronological order. The folder becomes a timeline without you ever clicking a column header.
  • Track name, lowercase, no spaces. It keeps the family together when a folder holds more than one track.
  • Version number, zero-padded. v08, never v8. A plain v10 sorts before v2 in every file browser on earth, and one day you will upload the wrong master because of it.
  • Stage, from a tiny fixed vocabulary. demo, mix, master, inst, radio. Pick your five words and never invent a sixth mid-project.
  • A short free-text note at the end. Two or three hyphenated words about what changed: darker-hats, vocal-up, client-notes. The note is for future you, who remembers nothing.
  • No spaces anywhere. Upload forms, web players and command lines all mangle spaces eventually. Underscores between fields, hyphens inside them.

Before and after, same track:

NIGHTS final.wav
NIGHTS final FINAL.wav
NIGHTS final_v3_REAL.wav
NIGHTS new bass bounce.wav
NIGHTS(1).wav
2026-07-21_nights_v05_demo_rough.wav
2026-07-30_nights_v07_mix_new-bass.wav
2026-08-14_nights_v08_mix_darker-hats.wav
2026-08-19_nights_v09_master_streaming.wav

One of these folders tells a story. The other is a hostage situation.

Two rules keep the scheme alive: never overwrite a bounce, and never reuse a version number, not even for a one-sample fix. Disk space is cheaper than the argument about which v9 is the real v9. Where all these files should actually live is its own problem, and it has its own article.

The version log, and why yours died

The classic advice for the project side is the version log: a spreadsheet or a text file next to the session, with columns for version, date, and what changed. It is a genuinely good idea. Yours is dead.

You know it is dead because you can picture it: four tidy rows from the week you set it up, then nothing. The log did not fail because you are lazy. It failed because it demands the entry at exactly the wrong moment. The save that matters happens right after the take finally lands, when the entire remaining budget of your attention is going into not ruining the vocal comp. Nobody alt-tabs to a spreadsheet at that moment. Nobody ever has.

Worse, a manual log lies by omission. The sessions where you were too deep to log anything are precisely the sessions where the most changed. The log records the boring nights and skips the important ones, which is the exact opposite of what a log is for.

So say it out loud: any system that requires you to write things down during a session is already dead. The fix is not more discipline. The fix is moving the writing to something that does not get tired.

What your DAW already gives you

Before adding anything, take what your DAW already offers, because it is more than most producers use.

The dashboard showing the session in progress, NOIR master v3, with two open production notes attached underneath it.
The version you are on, named, with the two things still open on it. No filename carries that second part, which is exactly where a naming scheme stops.

Save As is the floor. A copy of the project under a new name before anything risky: a big arrangement change, a session where someone else touches the file. It is manual, so treat it as an event, not a habit. Version the moments, not the minutes.

Incremental save is the better ceiling. Most of the major DAWs have some form of “save as new version” that stamps a numbered copy without asking you to think of a name: Cubase, Nuendo and Studio One carry it as a menu command, FL Studio can save a new numbered file, and REAPER can be set to write a timestamped copy on every save. The exact menu wording shifts between versions, so check yours, but the feature is almost certainly sitting there unused.

Ableton quietly versions for you. In recent versions of Live, the project folder contains a Backup folder holding the last several saves of your set as separate .als files, while the Ableton Project Info folder is how Live recognizes and manages the project itself. That Backup folder has rescued more collapsed sets than anyone admits at the meetup.

Use all of it. Then notice what it does not solve: incremental save hands you nights_23.cpr through nights_41.cpr, perfectly preserved and perfectly anonymous. Which of the nineteen has the good bass sound? The files version your project. Nothing tells you what any version was. You still have no log, and you already know why you will not keep one by hand.

Letting software keep the log

This is where the manual system hands over. Vantom sits beside your DAW, watches the folders you point it at, and indexes every project inside them, across nine DAWs. The piece that matters here is Auto-Changelog: every version your DAW writes becomes a tracked entry, stamped with the time and the plugins detected in it. Which is why the incremental save above matters twice over: turn it on, and the log you were supposed to keep gets kept for you, including the two-in-the-morning versions, because you no longer do the writing.

Be precise about what that is and is not. Auto-Changelog logs. It does not restore, revert, roll back or diff anything; your project files stay exactly where they are, untouched, and getting back to an older state remains your DAW’s job through the incremental saves above. It also does not read your session: an entry records when you saved and which plugins were loaded, not that the drop changed. That turns out to be enough. “Tuesday, 02:41, and the new distortion appears for the first time” next to a bounce named 2026-08-14_nights_v08_mix_darker-hats.wav reconstructs the story better than the spreadsheet you were never going to fill in.

If you are the kind of reader now wondering how deep this rabbit hole goes, whether real version control semantics can apply to DAW sessions at all, that deep dive is here.

Finding your way from the bounce back to the session

One gap remains, and it is the one that bites on release day: you are holding a bounce and you need the session it came from. The naming scheme helps going forward, but a scheme adopted in August says nothing about the bounces from March.

Latest Exports closes the gap from the other side. It matches a bounce back to the project it came from and plays it right there in the library, next to the project row, so “which session made this WAV” stops being an archaeology dig. The match has a limit worth knowing: it connects a file to its project, it does not know a master from a demo. Telling those apart is what the stage field in your filename is for. The scheme and the matching are a team, not rivals.

Alongside it, the per-project Changelog timeline lays out every logged save of a project in order, timestamps and plugins down the line, so the history Auto-Changelog has been quietly collecting becomes something you can actually read.

Vantom's local library in list view, with project rows showing tracked versions, detected plugins and matched exports.
The library with the version story attached: each row carries its tracked version count, the plugins detected in it, and the exports matched back to it.

The approval trail, when there is a client

Everything so far assumes the only person you answer to is future you. A client changes the rules, because now a version is not a file. It is an agreement.

Four habits keep that agreement out of the group chat’s darkest thread:

  • Sent versions get their own folder. A sent/ folder inside the track folder. If a file was ever delivered, a copy lives there and is never touched again.
  • The version number rides in the subject line. “NIGHTS v08 mix”, matching the filename exactly. When the client says “the last one”, you can ask “v08?” and get a real answer.
  • Approval means a version number in writing. “Sounds great” is not an approval. “v08 approved” is. One short reply, and the argument three weeks later never happens.
  • Corrections get a new number. Even for one clipped consonant. The moment two different files have shipped under the same name, the whole trail is fiction.

None of this needs software. It needs the naming scheme from earlier and the nerve to ask a client to type three characters.

The whole system on one screen

Here is the entire thing, small enough to memorize:

  • Bounces: date_track_vNN_stage_note.wav. Zero-padded, no spaces, never overwritten, never renumbered.
  • Projects: incremental save in your DAW for the files, Auto-Changelog for the log, so nobody has to write anything down at all.
  • The bridge: the stage field going forward, Latest Exports for everything backward.
  • Clients: a sent folder, version numbers in writing, a new number for every correction.

The naming half costs you one decision today and about four extra seconds per bounce forever. The logging half costs you nothing, which is the only price at which a log survives. If mix revisions are just one symptom of a wider sprawl, projects scattered across drives and DAWs, the bigger picture lives in what project management actually looks like for producers. If it really is just the versions: name the frozen things, let software watch the living ones, and put Vantom next to your DAW to do the watching.

That folder full of final_v3_REAL was never a discipline problem. It was two problems wearing one name. Now you have a tool for each.