Release notes for the app, the music encyclopedia, and the planning workspace.
Current version v1.22.3Public & live
Music reads better on a phone
Pages lead with what you came for and fold the rest. What's New is about a fifth as long on a phone, Queue cards say each ask once, and tap targets are at least 44px on touch screens.
Created
Fixed
Text fields no longer zoom the page on iPhone, including with the phone held sideways.
Loop pages link their stage tag to the Loops list filtered to that stage; the old anchor no longer existed.
Footer links, breadcrumbs, artist genre chips and Queue card links are at least 44px tall on touch screens.
Upgraded
What's New keeps the newest release open and folds earlier ones to version, status, date, title and summary.
Queue cards state the ask once and who it waits on once; each take is one line; lanes are compact chips on phones.
On a phone, Home shows your Queue before the ask box, and Listen, Learn, Play and Create fold their long status to one line.
Loops folds its long explanation behind one row. Artists, Encyclopedia, Release, Preferences, Suggestions, For your AI and /me say things once, in plainer words.
See it for yourself
On a phone, open What's New: only the newest entry is open, and each earlier one opens on tap.
Open the Queue: each card says its ask once, with one line per take.
Tap a search field on a phone: the page should not zoom.
What we checked
Before/after screenshots at 390px and 1440px of the public pages (live site vs this change) and signed-in Queue, Home, Listen and Release cards on synthetic records.
Lint, TypeScript, 1,726 unit tests, the production build and the CI verifier scripts passed; reviewed by Codex.
Earlier releases · 59
v1.22.2Public & live
Song and project pages lead with where things standA song page now opens with where the song stands: the plan's summary, the chosen take with its play button, and the current lyric. A project page opens with where the project is, its goal and its songs.
Created
Song pages have a Where it stands card: summary, chosen take (or how many takes are waiting) and the current lyric draft.
Fixed
Upgraded
Song pages show Takes and the current lyric before the prompt, research and source text. Earlier drafts and the prompt history fold behind one row each; the source text opens on tap and can be copied while folded.
Project pages show Where we are, the goal, the counts, albums and loose songs, and each song's progress before the rules, the direction form, research and the Suno link.
See it for yourself
Open a song you are working on from the Planner: the chosen take and its play button are on the first screen of a phone.
Open a project page: its songs come before the Project direction form.
What we checked
Before/after screenshots at 390px and 1440px rendered from synthetic records with no backend connected.
Lint, TypeScript, the unit tests, the workspace detail-state verifier and the CI verifier scripts passed; reviewed by Codex.
v1.22.0Live, backend pending
Start AI sessions with compact Music contextYour AI can browse projects in small pages, then fetch the standing guidance and project detail it needs. Deprecated tools stay callable for existing clients while the default tool list focuses on current workflows. This release is prepared locally; nothing has been deployed.
Merged and the pages are live, but the backend deploy has not run yet — parts of this may not work until it does.
Created
Person-only sample cleanup offers a preview and requires explicit confirmation. Only explicitly flagged records are eligible; dependent and unflagged records are preserved.
Fixed
Upgraded
Compact context pages default to 25 projects (maximum 100), with honest page-scoped counts and continuation cursors. Flagged samples are excluded from compact context.
The release catalog distinguishes default discovery from compatibility calls.
See it for yourself
After backend deployment, call music_context action='workspace', follow nextCursor, and read the required instruction, preference and project guidance sections before creative work.
Refresh tools/list, then verify an existing legacy call still works. Open Settings → Your data → Clear sample records to preview explicitly flagged rows, review retained reasons, and confirm only the eligible page.
Synthetic cleanup tests cover authentication, confirmation, changed previews, owner isolation and preservation of unflagged dependencies. No production records were accessed or changed; Live MCP Proof remains an owner decision.
v1.21.2Public & live
Keep take ratings, chosen recordings and albums clearRate each take, choose one recording for a song, and place the song on an album as separate decisions. Clearing a chosen take now stays cleared after reload.
Created
Album tracks name the chosen recording and link back to the song for comparison.
Fixed
An imported catalogue pick no longer returns after you explicitly clear your choice. Planner, albums and statistics agree.
Loading a Suno player does not add a listen count. Native listens begin only when the current audio actually starts playing.
Upgraded
The Planner says “chosen” instead of implying that choosing a take assigns the song to an album. Table tips explain ratings, take choices and album placement.
See it for yourself
Rate a take with a decimal score, clear its choice, reload, then choose another take. The first rating should remain.
Open the album to see the chosen take’s name. The project can contain many songs across separate album volumes.
What we checked
Signed-in native Sandbox: saved rating 8.7, cleared an imported choice, reloaded and selected the alternate take; the rating survived. The two-song project showed two separate albums, and album readback named the selected waltz.
Focused selection, owner-isolation, album, native-source and hosted-player regressions passed.
v1.21.1Public & live
Listen through Suno inside MusicWhen a Suno take’s direct audio cannot load, Music opens Suno’s official player in the playback bar. Audition takes without downloading them.
Created
Suno’s hosted player appears inside Music for supported Suno song links.
Fixed
A rejected direct audio URL can fall back to Suno streaming instead of leaving the take unplayable.
Music hides its native transport and listening timer while Suno’s separate controls are in use.
Upgraded
Changing tracks or closing the player removes the previous Suno player. No private audio copy or download is required.
See it for yourself
In Planner, play a Suno take. If the hosted player appears, use its Play button, then try another take and Close player.
What we checked
Signed-in Local Live streamed two unexported takes inside Music through Suno’s official player, past 26 and 36 seconds. Pausing worked; switching replaced the old frame; Close removed it. No download or unlock.
28 URL-validation and hosted/native player rendering tests passed. Planner parity, release-note and generated-binding checks passed.
v1.21.0Public & live
Play takes from the PlannerThe desktop Planner’s Play button now reaches playback without opening the row.
Created
Fixed
Removed a click handler that prevented the inline Play control from reaching the player.
Upgraded
See it for yourself
Press Play on a take in Planner’s tracks view. The player should load without expanding the row.
What we checked
Quality checks, production build and the browser smoke suite passed for PR #362.
The private-storage playback extension in that change was not deployed to the backend; it is superseded by official Suno streaming in 1.21.1.
v1.20.0Public & live
Keep research files in Library and use them across projectsWrite a research document or upload its original file, then attach the same Library record to any project that uses it.
Created
Private Library documents accept Markdown, PDF, HTML, text and JSON files, with originals kept in Backblaze and checked against their exact size and SHA-256.
Project Research links existing Library records without copying them. Unlinking keeps the document and its file in Library.
Fixed
Project attachment search queries the whole private Library, rather than only its loaded page. Interrupted uploads can finish on the saved document.
Uploaded file contents stay separate from ordinary research notes and retain the existing file-read permission boundary.
Account deletion retains file pointers until registered Backblaze versions are confirmed erased; failures remain retryable.
Upgraded
Connected AIs can save document research and project links through music_research, then transfer original files through the separately granted media tools.
Document storage joins per-account counts and original byte totals.
See it for yourself
Open Library → Research to write a document or upload a file. Open a project’s Research section to attach an existing Library record.
Open a document, read its text or download its original, and inspect the projects using it. Unlink a project and confirm the Library record remains.
What we checked
1,660 unit tests, TypeScript, all 23 compatible verifier contracts, and the production build passed. Focused tests exercise owner isolation, retry-safe creation and project linking, whole-Library indexed search, escaped readers, file type/hash validation, private original reads, download headers and storage counters. Native Sandbox synthetic record checks and signed-in local create/read/attach/unlink checks passed. Production Backblaze round-trip verification matched all six originals for four hymn research documents (including Markdown and PDF), attached to the country project. Production backend is deployed.
v1.19.0Public & live
Keep original lyrics for every arrangementBrowse hymn originals with their text edition and lyric-rights evidence, then keep an arrangement linked to the exact source revision it used.
Created
Original source revisions are preserved when a transcription or its provenance changes. Earlier revisions can be opened and copied separately from lyric drafts.
Published album tracklists can retain provider order and candidate take links without moving working songs or choosing masters.
Fixed
The source library distinguishes rights in words from rights in a tune and keeps unavailable or uncertain entries visible. Recorded years are labeled as unverified.
Upgraded
Source rights have separate supported, probable, protected and unreviewed states, with the reasoning and citations available on demand.
See it for yourself
Open Sources, filter by lyric availability or rights status, and inspect an original’s edition, evidence and saved revisions. Open a linked hymn arrangement to return to its original source.
What we checked
Synthetic native Sandbox checks verified immutable text revisions and retry behavior. Regression tests cover protected-text redaction, source ownership, stable revision links, original-stanza preservation and accessible source readers. Owner-scoped album tests verify that reference tracklists leave membership and master choices intact. Source readers were checked in Local Live; production data writes were verified by readback.
v1.18.0Public & live
Search your music and take an idea to your AIFind a song, artist or album without loading the rest of your library first. Matching records arrive in small pages as you search.
Created
Ideas and Usage explains your role, your AI’s role and Music’s role, with copyable examples and connection help.
Fixed
Your music searches the owner's database indexes instead of only the records already loaded in the browser.
An unsuccessful search shows no matches instead of suggesting the library is empty.
Upgraded
A short typing delay avoids unnecessary requests. Broad searches clearly identify the limit of 1,024 matches per music type and invite a more specific search.
See it for yourself
In Your music, search for a song outside the first page without clicking Load more, then clear the search to browse again.
What we checked
38 focused tests passed, including owner isolation, title/artist/album search over 2,500 synthetic songs, pagination and empty-result presentation. Native Local Sandbox queries found the oldest fixture in 3–5 ms; a broad search paged through 1,024 unique matches and exposed the database limit. The Ideas page and example-copy action were verified locally. Production search was checked through authenticated owner-scoped queries; the private library browser flow still needs sign-in.
v1.17.2Public & live
Keep bulk import controls within reachThe import selection bar stays below the site navigation as you scroll through a large batch.
Created
Fixed
The navigation no longer covers Select all, Select none or Add songs on wider screens.
Upgraded
See it for yourself
Scroll down a large import and use Select none, then Select all. The selection bar stays visible below the navigation.
What we checked
The live 332-song batch exposed the overlap. Whole-batch selection restored all 332 songs with a native browser click; the corrected offset was checked locally while scrolling.
v1.17.1Public & live
Add a whole music import with one clear actionSelect the songs you want and add them to Your music. Search a large import, select matching groups, and keep your selection as you move between pages. Only uncertain matches need an extra choice.
Created
Fixed
Removed the separate approval and Save choice steps, repeated technical labels, and empty add/undo controls.
Upgraded
Compact song, artist and album rows with checkboxes, selection across the entire import, and a single bulk add action.
Source data and receipts remain available under Details. Large additions run in bounded, resumable batches.
See it for yourself
Open a saved import, search for an artist, select matching songs, and add your selection in one action.
Open Details to inspect the source. After adding, follow View Your music; the import shows which items were added.
What we checked
Seven focused tests passed, including 537-item selection and chunked processing, interruption recovery, and a 50-row rendered page. TypeScript, lint and mutation-feedback checks passed. Signed-in Local Live search and completion were observed, and the owner's add action created all five pilot tracks with their source observations.
v1.17.0Public & live
Review your music imports before they become your libraryBring a music export into a saved private review, check matches against the original source rows, and choose what to keep. Your music brings artists, songs and albums together with your ratings and service evidence.
Created
CSV and JSON preview with preserved original rows, source labels, explicit matching decisions and resumable import batches.
Undo for unchanged import-owned additions, with explanations when later edits or uses must be kept.
Your music: one searchable, filterable view of private artists, songs and albums, with rating scales, personal reasons and dated service evidence.
Fixed
Upgraded
music_listen can stage, read, review, apply and undo imports with bounded calls and replay-safe receipts.
Service favorites, library membership and history stay separate from your preferred stars and ratings. Imports preserve existing music metadata.
See it for yourself
Open Listen → Your music, then Import music. Try the synthetic example, preview it, and stage it for review.
Inspect a source row, accept or match the rows you want, apply them, and open their music records. Undo retains the original review evidence.
For real music, use How to bring in your real music and the example files. External service account connections are separate.
What we checked
1,595 tests passed; TypeScript, lint and ownership/MCP contracts passed. Signed-in native Sandbox preview, source review, explicit matching, import, reload, search, star filter and protected undo were observed. A 100-record apply/undo proof retained raw evidence and refused cross-owner access; no personal music export was imported.
v1.16.0Public & live
Keep the artists and recordings that shape your tasteSave private artists, songs and albums, star your preferred music, and use decimal ratings on the scale you choose. Your AI can keep service evidence alongside your own reasons and build playlists from the same records.
Created
Your artists in Listen, with linked tracks and releases, service links, genres, years and notes.
Independent preferred stars and decimal ratings for artists, tracks and releases; each rating keeps its scale.
Dated service snapshots for listening counts, favorites, library membership and ownership, with source and period preserved.
Browser forms for adding and editing Found tracks, releases and playlists, plus optional Spotify and YouTube provider players that load on request.
Fixed
Upgraded
music_listen saves artists, preferences and service observations, and reads bounded taste context including existing Loved music and Collection records.
Site-wide Search includes your private artists. Existing playlists retain their order, exact track references and selection reasons.
See it for yourself
Open Listen → Your artists, add an artist, star them and save an 8.7 rating; reload and inspect the saved scale.
Add a track or album linked to that artist, then save a service observation. Its imported favorite stays separate from your preferred star.
On a track with a supported service link, choose Listen here. Playback availability is controlled by the service; opening the player does not record a listen.
What we checked
1,528 tests, TypeScript and ESLint passed. Native Sandbox owner/replay checks and signed-in browser artist, rating, service snapshot, linked track and playlist saves passed; rating and star survived reload. Production backend and Vercel deployed; native Codex taste/artist reads and signed-in Local Live artist page passed. External account import and audible provider playback are not claimed.
v1.15.9Public & live
Save research directly in your private LibraryYour connected AI can save and revisit song and artist research without inventing a creative project or plan.
Created
music_research lists, reads and saves the same private records your Library displays.
Fixed
A connection limited to selected projects cannot reach this account-wide Library.
Upgraded
Research saves return record links and created, updated or unchanged receipts; identical retries replay the original receipt. Plan research has bounded revision-history pages and exact original-snapshot reads.
See it for yourself
Ask your AI to save artist research in your private Library, then retrieve it by the returned slug.
Add a summary without resending your evidence and confirm the earlier notes and sources survive.
What we checked
All 1482 unit tests passed locally; PR #351 passed quality, production-build and browser checks. Commit 9bcc38cc deployed to the web and backend, and production registration returned 41 tools.
Native Codex connection discovery includes music_research. A fresh CLI discovered it but refused the list call under its never-ask approval policy; this does not prove a live research save/read round trip.
v1.15.8Public & live
Give connected AIs the right sign-in scopesMusic tells MCP clients which identity scopes it needs, so they can avoid requesting an unsupported OpenID scope.
Created
Fixed
OAuth discovery and authentication challenges request email and profile without changing Music grants.
Authorization and connection self-checks consistently use the verified OAuth client ID.
Deployment documentation reflects the forty tool names observed in production.
Upgraded
Grok Bot is listed as a connection candidate, with its completed lifecycle still unverified.
See it for yourself
Reconnect Music in your AI client and check that sign-in no longer fails with an unsupported openid scope.
Use the connection self-check to inspect this client's actual grant before working with private records.
What we checked
The MCP regression suite passed 136 tests locally, including scope discovery, grant boundaries, official-client transport and conflicting client claims.
Production's registered tool-name query returned all forty music_ names; this does not prove a named client's full lifecycle.
PR #350 passed all checks and deployed f6258c9d to the web and backend. The live 401 challenge advertises email/profile, and fresh protected-resource metadata reports both scopes. Native Codex and Claude connection/workspace/brief reads succeeded; Grok reached consent with the corrected scopes.
v1.15.7Public & live
Check research links and avoid duplicate lookupsA missing genre notebook now stops after the paginated archive lookup, instead of asking the older endpoint the same question again.
Created
Fixed
The older read endpoint is used only when the chain function is unavailable, not when it correctly reports no notebook.
Upgraded
Research review flags repeated generic link explanations, repeated whole-source capture bundles and unusually large claim evidence sets for human or AI review.
See it for yourself
Start research for a genre without a private notebook and confirm one archive lookup.
What we checked
CLI regression covers empty/null replies without a duplicate request and retains the unavailable-function fallback.
The previous research reuse release is marked live only after its web and backend deployments succeeded.
v1.15.6Public & live
Reuse genre research with its evidence intactResearch tools can reuse retained sources and notebook history while keeping source observations, genre-specific interpretations and the publication review separate.
Created
One operating card and a private audit brief containing inspectable source captures.
Fixed
Source reuse rejects altered evidence and preserves recorded disputes.
Audit briefs must match the exact draft and notebook snapshot before review.
History-only prose changes create review tasks; preparing a review cannot overwrite its source queue.
External AI prompts require access to the private authoring documents before research starts.
Upgraded
Notebook history transfers use bounded batches, with compatibility for deployments without the new functions.
Private quote caches retain their original fetch dates and remain outside public or tracked output.
See it for yourself
Follow an audit claim to its retained capture and read its source, locator and original observation.
Compare reused source history with the sibling notebook and confirm the new genre keeps its own findings.
What we checked
Regression checks cover altered source captures, stale briefs, private cache paths, large notebook histories and history-only merge reviews.
PR #345 passed its checks and deployed commit 9bd906b to the web and backend; observed large-notebook fetches used two paginated calls.
v1.15.5Public & live
Readable source references on phonesLong source URLs wrap within genre pages so the bibliography stays readable without widening the page.
Created
Fixed
Long bibliography references no longer cause horizontal page overflow.
Upgraded
See it for yourself
Open Bambuco on a phone and scroll to Sources.
What we checked
Public browser regression checks the source list at 320, 390 and 768 pixels.
v1.15.4Public & live
Reliable publication of reviewed genre guidesPublishing refreshes the exact genre pages as well as shared listings. Editorial reports use the same evidence decisions as publication, including documented smaller selections.
Created
50 reviewed public genre guides with 233 artist explanations, 247 recording selections and 175 supported timeline milestones.
Fixed
The standalone report no longer rejects a supported smaller selection that the publication gate has already accepted.
Earlier research and selection releases now reflect their completed backend deployments.
A successful generic cache refresh can no longer hide stale individual genre pages; a cache-only retry refreshes the intended URLs.
Long encyclopedia taxonomy links wrap within narrow screens.
Upgraded
Quality reports retain the original numeric flags beside their reviewed resolutions.
Publication resolves canonical genre URLs from the full public catalogue and verifies each cache refresh acknowledgement.
See it for yourself
Compare an editorial quality report with its publication receipt: both should agree on the unresolved Verify queue.
Inspect a smaller selection’s recorded scope and source review.
What we checked
1,421 tests passed, with focused checks for canonical URL allocation, partial cache acknowledgements, cache-only retry and reviewed selection reporting.
CLI regression checks cover reviewed smaller selections and stale review rejection.
Version 1.15.3 passed CI and deployed to the production backend before the first reviewed guides were ingested.
v1.15.3Public & live
Genre examples selected for their evidenceEditorial publishing can retain a smaller, well-supported set of artists and recordings when that is the useful selection for a genre. A documented review explains its limits; every selected example still needs its own evidence.
Created
Fixed
The six-example default no longer forces an editor to pad a supported selection with unverified or adjacent acts.
Shared encyclopedia backend changes now trigger the production deployment workflow.
Upgraded
Smaller selections carry a private review of their exact contents, source basis and scope.
See it for yourself
In an updated guide, read why each artist belongs and follow the selected recordings.
Compare the guide’s concise public selection with the wider private research pool where available.
What we checked
Contract tests reject stale selections, changed source evidence, invalid counts and unsupported selected artists.
Batch transport tests retain each selection review and its source references without including another genre’s review.
v1.15.2Public & live
Connect each research claim to its source evidenceNew private genre research captures source material before adding findings. Each claim explains whether its evidence directly supports it, supplies an inference premise, contradicts it or only provides context.
Created
A capture-first finding command that derives exact evidence and source references from explained links.
Fixed
Supported claims can no longer omit capture links under the new authoring policy.
Historical research stays readable, while later revisions preserve existing captures and the stronger policy.
Upgraded
New notebooks require capture links or an explicit unresolved evidence gap.
The private reader explains each capture’s bearing on the claim; measurements distinguish linked claims, explained links and open questions.
See it for yourself
Follow a finding to the precise original capture and read its claim-specific explanation.
Compare a supported claim with an inference or an explicitly unresolved question.
What we checked
Synthetic tests exercise missing captures, relationship and source mismatches, preservation and unresolved gaps.
The private 50-genre pilot retains original claims and individual repair receipts.
v1.15.1Public & live
Research checks that distinguish progress from proofThe resumed genre pilot checks whether original evidence explains the music as well as catalogue details. Research progress distinguishes a valid notebook from completed source review, while dates and recording editions remain explicit.
Created
Fixed
Legacy formatting is reviewed before artist explanations enter a guide.
The earlier evidence-preservation release now reflects its verified web and backend deployments.
Upgraded
Research continuations investigate gaps beyond a narrow inherited bibliography and keep failed searches visible.
Public introductions describe the music directly, while research-process notes remain private.
See it for yourself
Compare a notebook’s musical evidence with its catalogue fields and inspect its review limits.
Distinguish original release, recording session and current pressing dates in recording research.
What we checked
The resumed pilot identified ambiguous recording selections and edition dates through source checks.
Prompt refresh tests preserve each saved batch’s original scope while using current research instructions.
v1.15.0Public & live
Keep the source evidence, reconsider the interpretationPrivate genre research now preserves original passages and literal source fields independently from AI interpretations and public guides. Later researchers can add evidence, record disagreements and recheck sources while retaining the earlier material.
Created
An original-evidence collection with source attribution, locations, access dates and permanent capture identifiers.
A separate history of disputes, rechecks and corrections that preserves the original captures.
Fixed
Unmapped older interpretations are identified explicitly rather than presented as original source material.
Upgraded
The private reader opens with original evidence, followed by interpretations and a separate guide preview.
New research prompts collect useful source data even when it has no immediate place in the guide.
See it for yourself
In a private notebook, compare an original source field with its interpretation and inspect a recorded disagreement.
Follow an interpretation back to its original passage, including after filtering the evidence collection.
What we checked
Tests verify preservation across revisions, rejection of edited or deleted captures, and private-only public projections.
Two private examples preserve original passages, add newly checked source fields and retain unresolved differences.
v1.14.0Public & live
Research that future guides can build onThe research harness now separates knowledge about a genre from writing decisions, identifies unfamiliar people and works, and preserves original source passages beside focused claims. A maintained private reader makes the research, its limits and the resulting guide easier to inspect together.
Created
An opt-in research method with typed entities, sourced relationships and a candid record of research improvements and remaining gaps.
A private HTML reader with genre-specific findings, source passages, wider candidate pools and a separate public guide preview.
Fixed
Revision-file previews and audits verify retained content hashes; private output guards also reject capitalized public folders.
Legacy notebooks and string artist entries remain readable without changing immutable history.
Pending saved batch prompts use current research instructions when copied, preserving their original scope and stored history.
Upgraded
Recording research distinguishes identity verification, genre fit and the reason a selection represents the style.
Advisory checks surface generic process notes, repeated findings and concentrated source perspectives without claiming factual verification.
See it for yourself
In a private notebook, follow a claim to its source passage and distinguish a band, song, album or movement.
Compare the private candidate pool and chronology with the guide’s selected artists, recordings and milestones.
New research and repaired examples remain private drafts; source review is separate from automated validation.
v1.13.2Public & live
An introduction you can share with a new listenerUnderstanding the genre brings together what the music is, how people play it, useful roots and its distinctive sound. Authoring now starts with a familiar foothold and builds through connected ideas. Introductions and History retain proper paragraphs through native JSON and the public page.
Created
Fixed
Native prose paragraphs no longer fail the older single-line transport rule; names, dates, titles and references retain that constraint.
A dense-paragraph warning prompts editorial review without setting a cap on guide length.
Upgraded
Research guidance asks writers to review the introduction as both a newcomer and a knowledgeable fan, explaining unfamiliar terms through the music itself.
History and introductions use intentional paragraph breaks, readable line lengths and spacing.
See it for yourself
Read Understanding the genre: can you picture what the music is and how people make it before reaching the detailed terms?
Check the paragraph spacing in an updated guide’s introduction and History.
What we checked
Native CLI and backend ingestion checks preserve paragraph text; renderer checks distinguish paragraphs from soft wraps.
Staged checks cover dense prose and retain single-line identity/date rules. Rewritten examples and research revisions remain private drafts.
v1.13.1Public & live
Hear the genre first, then explore how it emergedGenre guides now label their sound and performance explanation clearly, separate from History. Research guidance gives formative developments and important branches more attention in the timeline. Timeline artist names are clickable, and compact numbered references reveal their sources on hover, focus or tap.
Created
Fixed
Timeline artist names follow the available internal artist path or offer Spotify discovery.
Each numbered source reference reveals a specific source, with keyboard and touch access.
Upgraded
What it sounds like explains pulse, texture, phrasing and musical interaction, with people and chronology kept mainly in History and artist entries.
Timeline selection now prioritizes supported antecedents, emergence and consequential changes without inventing one birth year.
See it for yourself
In a genre timeline, select an artist name and open a numbered source. Use Escape to close the source, or tap outside it.
Read What it sounds like before History, then compare the formative timeline events with later developments.
What we checked
Focused renderer and authoring checks cover artist destinations, safe source URLs, native citation fallback and warnings for roster-driven sound descriptions.
Browser checks exercise source hover, focus, tap, dismissal, artist disclosure and mobile viewport bounds. Three private guide examples were rewritten; they remain unpublished drafts.
v1.13.0Public & live
Genre timelines and the music behind each artist’s placeGenre guides can now include a compact Timeline tab explaining the releases, artists and events that shaped the style. Artist entries can explain why their music belongs, including where their catalog crosses into other styles. The fuller research, source passages and unresolved questions remain in a private notebook for future rewrites.
Created
A curated Timeline view with dated milestones, specific contributions, source links and relevant mixed-genre context.
Fixed
Editing an artist explanation or timeline claim invalidates its prior evidence review; public responses project only the intended fields.
Resuming saved research no longer rejects an unchanged notebook because its fields came back in a different order.
Upgraded
Defining artists can carry musical explanations and catalog boundaries rather than appearing only as names.
Research notebooks preserve developed findings, attributed source passages and a wider private chronology separately from the reader’s selected milestones.
See it for yourself
Open a genre with reviewed timeline data and switch between Guide and Timeline. Follow a release milestone to its artist, and expand its sources.
Read the artist explanations and use Show more for examples beyond the first six. Older guides remain readable while their enrichment is prepared.
The shared public component passed isolated Chromium checks for keyboard tabs, mobile Paper and Studio views, artist disclosure links and navigation without JavaScript. New guide examples remain private previews.
v1.12.0Public & live
Search, sort and three views in each Queue laneEach Queue lane now has a search box, a sort, and a choice of List, Table or Grid. The List still shows each request in full, with its actions, files and activity; Table and Grid give a compact overview, and each row opens that request's own page. The view you pick is remembered.
Created
Search inside a Queue lane: type part of a request, a project or a kind of work to narrow what's shown.
Table and Grid views of a lane: the request, its project, the kind of work, who it is waiting on, and when it last changed. Click one to open its page.
Fixed
Upgraded
Sort a lane by most or least recently updated, by request, project, kind or who it is waiting on. Newest first is still the default.
Your chosen view is remembered on this device, and on your account when you're signed in, so the Queue opens the way you left it.
See it for yourself
Open the Queue, switch a lane to Table, then reload: it stays on Table. Switch back to List and the full requests return.
Search a lane for a word from one of your requests and see the list narrow; the count above says how many of the loaded requests match.
Open a link like /queue?queue=42 and land on that request in its lane.
What we checked
A unit test renders the shared list with a page's own row drawing and checks that Table and Grid still read the shared columns.
Live: merged in PR 327 on 2026-10-07 and published with the website; this release changes no backend functions.
v1.10.1Public & live
Assist With Music everywhere, including your AI's toolsThe last traces of the site's old name are gone. Your AI now sees tools named music_ (music_context, music_save, music_queue and the rest), and the AI pages and guides name only assistwithmusic.com/mcp.
Created
Fixed
The AI connection page, the AI guide and the files an AI reads before connecting (/ai.txt, /llms.txt) no longer mention the old site name or address.
A sign-in error your AI could see now says Assist With Music.
Older notes on this page now use the site's current name.
Upgraded
Every AI tool is renamed from the old songplanner_ prefix to music_, the same pattern as Assist With Plants' plants_ tools. What each tool does is unchanged, and none of your records change.
See it for yourself
After the backend deploy, add assistwithmusic.com/mcp as a connector in a new AI conversation and see tools that start with music_.
Open /ai and /ai.txt and find no mention of the old name.
What we checked
Typecheck, 1257 unit and Convex tests, the 23 contract checks and the AI-doc verifiers pass; the AI-doc, tool-contract and public-identity verifiers now fail if the old name, domain or tool prefix reappears.
Deployed: the first automatic Convex production deploy, of main at c760458, ran on 2026-10-07 (GitHub Actions run 37564921166) and reported “Deployed Convex functions”. A newly connected AI now sees the music_ tool names; one already connected may need a new conversation to pick them up.
v1.10.0Public & live
A Home for your music, Search across everything, and Suggestions under their own nameSigned in, Music now opens on your own Home: what's waiting on the Queue, music you recently loved or added, what you're practising, and songs in progress, with a box to ask your AI or save something. Search reaches every area, each Queue request has its own page, and the AI's ideas for you are now called Suggestions.
Created
Home at /home: open Queue items, recently loved and added music, current practice, and songs in progress, under the Queue's own "ask your AI or save something" box. The logo and the account menu's Home take you there when you're signed in.
A page for each Queue request at /queue/42: the ask with its links and files, its status, what it's connected to, the result, and the same actions as on the Queue. Only you can open your own requests.
For the site's operator only, /admin/users and /admin/activity: accounts by an anonymous code with counts per kind of record, and recent AI tool calls, never names, emails or anything you wrote.
Fixed
Listen and Play no longer say they are coming; they have been live since 4 October. Things that are built but not deployed yet still say so.
The guides no longer quote a hand-typed count of AI tools; a test now checks every count that remains against the real list.
Upgraded
Search finds your Tracks, Releases, Collection, Playlists and Lists, Pieces, Resources, Projects and Albums, and the encyclopedia's genres and artists, next to your songs and research.
Ideas is now Suggestions at /suggestions: where your AI offers things you didn't ask for. Old /ideas links still work. The Queue stays where you give your AI directions.
See it for yourself
Open /ideas and land on Suggestions.
Click a request's title on the Queue and see its own page.
After the backend deploy, sign in and open Home from the logo; search for an artist you love and find the Track and the encyclopedia artist.
What we checked
Unit and Convex tests cover the Queue page's number parsing and links, that Home, Search and the admin pages never show another person's records, that signed-out callers get nothing, and that non-admins get nothing from the admin views.
Deployed: the first automatic Convex production deploy, of main at c760458, ran on 2026-10-07 (GitHub Actions run 37564921166) and reported “Deployed Convex functions”. Home, the new Search groups and the admin pages now have their functions on production.
v1.9.0Public & live
Attach photos and recordings to a Queue requestWhen you ask your AI for something on the Queue, you can now add photos and audio files to the request: a picture of a chord chart, a voice memo of a melody. Your request is saved first, so it is never lost if a file fails, and your AI can open the files with the request.
Created
An Add files button in the Queue composer, for photos and audio files, up to 24 per request. Each file shows its own progress, and a failed file can be retried or removed on its own.
Each Queue request lists its attached files, so you can see what your AI was given.
Files that were still sending when you closed the page pick up again the next time you open the Queue on the same browser.
Fixed
Upgraded
See it for yourself
After the backend deploy, write a Queue request, add a photo and a short recording, and send it: the request appears at once, then both files finish and show under it.
Ask your AI to start that request and confirm it can see the files.
What we checked
Unit tests cover choosing and checking files (type and size), sending small files in one go and large ones in parts with a checksum on each part, retry after a dropped connection, resuming unfinished sends, and the wording for each kind of failure. Convex tests cover that only the request's owner can attach files to it or list them.
Deployed: the Convex production deploy of main at 584bf0b ran on 2026-10-07 (GitHub Actions run 37554268705) and added this release's tables and indexes; the outside check now confirms every public query is on production after each deploy. Not yet observed: a real photo or recording sent from a browser on production; the first one you send is that proof (media storage keys were set on production on 2026-10-04, AWM-0116).
v1.8.0Public & live
See how much private media you keep, and lists that remember you on any browserYour stats now shows how many private photos and recordings your account holds and how much space they take. The way you set up each list (Table, Grid or List, columns, sort) now follows you from one browser to another, while your phone still keeps its own.
Created
Private media storage on Your stats: how many photos and recordings, how much space the originals take, and how much the smaller copies take. It says "Nothing stored yet" when that is true, and says plainly when older media has not been counted yet.
For the site's operator only, a counts-only overview at the top of /admin: accounts with saved work, records by kind, active AI connections, AI tool use over 7 and 30 days, and total private media. It never shows names, titles or anything you wrote, and anyone else gets the same not-found page as before.
Fixed
Upgraded
Each list remembers your view, hidden columns, density and sort on your account, so a laptop and a second browser open it the same way. Phones and wide screens keep separate choices, and phones still open as a simple list until you pick otherwise. Signed-out pages keep remembering in this browser only.
See it for yourself
After the backend deploy, switch Create → Projects to Grid on one browser, then open it on another signed in as you: it opens as Grid.
After the backend deploy, open Your stats and find Private media storage.
What we checked
Convex tests cover storage counted in the same step that stores or finally erases a file (never on a mere mark for deletion), never going below zero, a dry-run recount, and export and account deletion of the new records; the operator counts returning only numbers, capping large tables as "at least", and giving non-operators and signed-out visitors the same nothing; and remembered list views staying with their owner, apart per screen size, and bounded.
Deployed: the Convex production deploy of main at 584bf0b ran on 2026-10-07 (GitHub Actions run 37554268705) and added this release's tables and indexes. Media stored before this release reads "not counted yet" until a recount is run for that account.
v1.7.0Public & live
Your music starts connecting: Preferences, Resources, Lists, Library, and links between songs, pieces and the encyclopediaMusic's records now link to each other, so your AI can work from what you've saved instead of guessing: a song you love points to its artist and genre pages, a piece you're learning points to the track and songbook it comes from, and a cover points to the song it covers. Preferences and Resources are new pages.
Created
Preferences: tell your AI how to work with you, in your own words, for taste, listening, playing, creation, lyrics and how it should work. Earlier versions are kept. The AI reads them as guidance and can never change them. Creation limits (how far the AI may go, and how careful to be with credits) moved here from the old Requests page.
Resources: everything you use for music in one place, by category: instruments, gear, software, websites, services, books and courses. Your instruments from Play appear in the Instruments tab, so nothing is entered twice. Your AI can save and read them.
A track, release or loved artist links to its encyclopedia Artist and Genre pages when there is exactly one match. Otherwise your own words stay, marked "not matched yet". Your private records never change a public page.
A piece you're learning can point to its track and to the songbook or sheet music in your Collection it comes from. The track's page lists the pieces you're learning from it.
A song can record the track it covers. An album with a cover on it reminds you that a cover needs a licence before release.
Listening notes: dated notes on a track or release, with when and where you heard it. Notes are added, never overwritten; fixing one adds a new note and keeps the old one.
Lists: gather any of your music in one named list with a purpose, such as albums to hear, artists to explore or a setlist. A list can hold songs, albums, takes, tracks, releases, artists, pieces, resources, research or plain lines, each linking to its page. Playlists stay the playable kind and work as before.
Library: your research, your sources and your standing instructions to your AI in one place. Instructions like "always draft lyrics in British spelling" are kept with every earlier wording; your AI reads the active ones and can never change them.
Fixed
Upgraded
The Requests page retired: its settings are in Preferences, and putting the Queue in order now happens on the Queue itself. Old Requests links open the Queue.
A connected AI can no longer delete a project, even an empty one. Deleting stays yours, on the website.
See it for yourself
After the backend deploy, open You → Preferences and write a line under Taste, then ask your AI what it knows about your taste.
Open You → Resources and add a piece of software or a website you use.
Love a track by an artist that has an encyclopedia page and open the track: the artist name is a link.
Open You → Library, add an instruction, then ask your AI what standing instructions you have given it.
What we checked
Convex tests cover every new write and read: owner-only Preferences with versions kept, Resources with owner isolation and replay-safe AI saves, encyclopedia matching (matched, unmatched, ambiguous) without touching public tables, Piece and cover links refusing another person's records, and the AI's delete refusal removing nothing. Typecheck, lint, all unit tests and the CI verifiers pass.
Deployed: the first automatic Convex production deploy, of main at c760458, ran on 2026-10-07 (GitHub Actions run 37564921166) and reported “Deployed Convex functions”.
v1.6.2Public & live
An AI can connect to Music whichever address you give itSome AI apps sign in using the exact address you paste. If that was www.assistwithmusic.com, Music could refuse the sign-in as meant for another site. It now accepts every spelling of its own address, and a daily check from outside the site makes sure each AI address answers.
Created
A check that runs after each production deploy and every day, from outside the site, on assistwithmusic.com, www.assistwithmusic.com and the site's former domain: the AI connection address, its sign-in discovery documents, /ai.txt and /llms.txt must all answer directly, with no redirect an AI app would stop at.
Fixed
An AI sign-in minted for www.assistwithmusic.com is accepted, as one for assistwithmusic.com always was.
An AI sign-in whose audience names only the AI app itself, not a web address, is no longer refused for naming the wrong site. A sign-in that names another site is still refused.
Upgraded
See it for yourself
On GitHub, open Actions → AI paths from outside: the latest run lists every address on every spelling, with pass or fail beside each.
What we checked
Unit tests cover the audience rule: no audience, each spelling of Music's address, a trailing slash, an app id alongside or instead of an address, and refusal of another site's address.
Deployed: the Convex production deploy of main at 584bf0b ran on 2026-10-07 (GitHub Actions run 37554268705), carrying the sign-in fix. The outside check passed 15 of 15 on its first production run, so www needed no Vercel change.
v1.6.1Public & live
Album counts on Projects are right, and a project upload lands on the projectTwo fixes found in real use: the Projects list showed 0 albums for nearly every project, and a recording or image your AI uploaded for a project could arrive without being attached to it. The site also moved to a patched version of its web framework.
Created
Fixed
Projects counts the albums a project's songs actually sit on, including your per-song album choices. Before, it only counted albums whose home was set to that project, which Music rarely sets, so almost every project read 0 albums. When the count cannot be complete it now says unknown rather than undercounting.
An upload your AI begins for a project, song or album is attached to that record as soon as it finishes. Before, it was stored safely but read back as not attached until something else claimed it. If the record has been deleted in the meantime, the original is kept and the AI is told why it could not attach.
Upgraded
Moved to Next.js 16.4.0. The 16.3 line has critical security advisories; nothing should look different.
See it for yourself
After the backend deploy, open Create → Projects: a project whose songs are on an album shows that album in its count.
What we checked
Convex tests cover the album count across projects and capped reads, and a finished upload attaching to its begin target or reporting why it could not. Typecheck, lint and all unit tests pass on Next.js 16.4.0.
Deployed: the Convex production deploy of main at 584bf0b ran on 2026-10-07 (GitHub Actions run 37554268705), carrying both fixes.
v1.6.0Public & live
Every list in Music now searches, filters, and counts the same wayProjects, Albums, a project's songs, your research, Sources, Artists, Signatures, Loops, your AI's suggestions, and the new Listen and Play lists now share one way of listing records: Table, Grid or List, a search box, filters that open to their answers with counts, sortable headers, and a count that says exactly what it counted.
Created
New Projects and Albums pages under Create. Projects shows each project's direction, songs, albums and when it last moved; Albums shows each album's home project, tracks, how many have a chosen master, and its release stage. Both have a + button to start a new one.
Filter rows on every list: pick a question (Stage, Genre family, Release stage, When…) and its answers open with counts. Several answers in one question widen the list, several questions narrow it, and every pick stays on screen to remove or clear.
Links that keep their filters: the search and filters live in the page address, so a filtered list can be bookmarked, shared, or written by your AI as a link.
Fixed
The Create page's projects and albums no longer overlap; they are two compact doors into the new collections.
Counts no longer overstate: a list that has only loaded its first page says "first 50 loaded" instead of presenting a page as the whole library, and Load more fetches the next page only when you ask.
Upgraded
The project page's song table, My Research, Sources, Artists, Signatures, Loops and Ideas from your AI moved onto the shared lists. Phones open them as a simple list; the view you choose is remembered for this browser.
Loved music, Collection, Playlists, Tracks and Releases, Instruments, Pieces and the practice log use the same lists: filter your collection by medium, condition and where it lives; your pieces by status, instrument and key; your practice by piece, instrument, when, and whether a session was corrected.
See it for yourself
Open Create → Projects and Create → Albums; sort a column by clicking its header and open a row.
On /loops, open Stage, pick Master, then copy the address: opening it again shows the same filtered list.
On a project's page, filter its songs by Stage and Waiting on; the count above the table says how many of how many.
What we checked
Unit tests cover the counting rule (answers in one family widen, families together narrow, a family's own pick never zeroes its siblings), the four count wordings, blanks sinking to the bottom in both sort directions, and the address round trip. A Convex test covers the new projects read.
Local screenshots at 390 and 1280 pixels in Paper and Studio of Projects, Albums, Artists, Sources, Loops, Create, Signatures, Ideas, My Research, Collection and Pieces, and a filtered state; no page scrolls sideways at 320 pixels. Signed-in pages were checked signed out and against local fixture rows, not against real records.
Deployed: the Convex production deploy of main at 584bf0b ran on 2026-10-07 (GitHub Actions run 37554268705), so the song counts, dates and directions on Projects, the Added column on a project's songs, and Has research on Sources now read from production.
v1.5.0Public & live
Keep the music you love, own, and listen to, not only the music you makeYour AI can now save music by other artists as references with links (never the audio), what you love about it in your own words, the copies you own on vinyl, CD or anything else, and Playlists that put found tracks beside your own takes. Four new Listen pages show it all.
Created
Loved music: Tracks, Releases, and Artists you love, with your reason, when you first heard it, and how often you come back. Correcting a reason keeps the earlier words in the record's history.
Collection: one row per copy you own, by medium (vinyl, CD, cassette, digital purchase, streaming library, sheet music, songbook), with edition, pressing, condition, where it lives, and how you got it. A whole shelf is one save for your AI.
Playlists: a purpose, ordered entries, and a reason for each. Found tracks keep their Spotify, Apple Music, YouTube or Bandcamp links and IDs, so an AI connected to your streaming service can rebuild the Playlist there.
Tracks and Releases: the found music behind all of this, saved once each and shown with whether you love it, own it, or have it on a Playlist.
Your own takes can be marked Performed (you played or sang it) or Directed (you directed an AI generator). Takes your AI saves from a generator are Directed unless it says otherwise.
A new AI tool, music_listen, to find, read, list and save all of the above, safe to retry and refused whole if any part of a batch is wrong.
Fixed
Upgraded
Listen's landing page now opens Loved music, Collection, Playlists, and Tracks and Releases; only Listening notes and Collection photos are still coming.
The connection consent sentences for reading and saving your music now also name your tracks, loved music, collection, and playlists, because a connected AI can now read and save them.
See it for yourself
Open /listen and follow the new doors to Loved music, Collection, Playlists, and Tracks and Releases. Before the backend deploy they say their records are not available yet, rather than failing.
After the backend deploy, start a new conversation with your connected AI, tell it a song you love and why, and ask it to save it. It should appear on /listen/loved with your words.
What we checked
Convex tests cover another owner never reading or changing these records (by MCP and by the pages), retried calls replaying instead of writing twice, the same song saved twice becoming one record, a refused batch saving nothing, links to audio files being refused, Playlist order through replace and append, a corrected reason kept in history, and data export and account deletion including every new table.
Transport tests list music_listen with the same schema in both MCP protocol eras and replay a save across them; scope tests show a read-only connection can find and list but not save, and a connection limited to selected projects is refused.
Not yet proved: the deployed Convex runtime. Nothing here works for a person or their AI until the Convex production deploy.
v1.4.0Public & live
Play: your instruments, the pieces you are learning, and your practicePlay now keeps real records: the instruments you own, rent, or want, the pieces you are learning section by section, practice plans you can revise, and a dated log of every session. You can add them yourself, or ask your connected AI to.
Created
Instruments, Pieces, and Practice pages under Play, and a Play landing page that leads with this week's minutes, your current pieces, your instruments, and your active plans.
A page for each piece with its sections, how far along each one is, minutes this week and since you started, the plans that cover it, and its session history.
A practice log that is never rewritten: a correction is a new entry that replaces the old one in every total, and the old one stays visible, marked as corrected.
Practice plans that keep every earlier version when they are revised.
music_play, one tool for a connected AI to find, list, read, and summarise your Play records, and to save instruments, pieces, plans, and sessions in batches that are safe to retry.
Fixed
Upgraded
The connection consent sentences for reading and saving your music now name instruments, pieces, and practice, because the same permissions cover them. A connection approved under the earlier wording keeps working and shows that it was.
See it for yourself
After the backend deploy, open /play/instruments and add an instrument, then /play/pieces and add a piece with a few sections, then log a session from the piece's page. The Play landing page should show the minutes under This week.
Start a new conversation with your connected AI and ask it to log twenty minutes on a piece; it should tell you what it saved and give you the link.
What we checked
Convex tests save and read Play records through the AI tool and the website functions: another owner can neither see nor change them, an identical retry replays without writing twice, the same retry id with different content is refused, a batch over its limit saves nothing, a corrected session keeps everything it recorded and leaves the totals, a plan revision keeps the version it replaced, and export and account deletion include every Play table.
Transport tests list music_play with the same schema in both MCP protocol eras and replay a save made in one over the other.
Not yet proved: the deployed Convex runtime. Until the Convex production deploy, the Play pages say the records could not be read and the AI does not see the new tool.
v1.3.0Public & live
Your AI can see what each Music tool does before it calls itEvery Music tool now tells a connected AI its name in plain words, whether it only reads or changes your records, and what shape its answer comes back in, so the AI can ask you less often for reads and parse results without guessing.
Created
A display title on every tool, and four behavior hints: whether it only reads, whether it can change or remove existing records, whether repeating the same call is harmless, and whether it reaches outside Music. The hints are deliberately cautious and never grant anything; your connection settings and Music's own checks still decide every call.
Typed results: every tool except the private-media read now sends its answer as structured data as well as the text older AI clients read.
Fixed
Upgraded
Moved Music's MCP connection layer to convex-mcp-gateway 2.1.0, the current release, from the 0.7.0 cut that its own authors called incomplete. AI clients on the 2025-11-25 protocol can now connect too, and a refused call now carries Music's own reason instead of a runtime error line.
See it for yourself
Read /mcp-tool-contract.txt, section Tool Titles, Behavior Hints, And Typed Results, to see which tools are read-only and which are repeat-safe.
After the backend deploy, start a new conversation with your connected AI and look at the Music tool list: read tools such as music_read should be marked read-only, and tool names should show their titles where your client displays them.
What we checked
The official MCP TypeScript client SDK connected to Music's real /mcp handler in tests over both the 2026-07-28 and 2025-11-25 protocols, listed all 37 tools with their titles and hints, and validated every typed result it received against the advertised schema.
Transport tests check that both protocol eras advertise exactly the same titles, hints and schemas as the generated catalog, advertise no capability besides tools, and return identical structured and text results on every call they make. Album tests prove the three tools marked repeat-safe write nothing more when the identical call is repeated.
Not yet proved: the deployed Convex runtime, and the official MCP conformance suite, which needs a running deployment. Nothing changes for an AI until the Convex production deploy.
v1.2.1Public & live
Large private recordings can actually arrive, and AI reads always fitA connected AI can now send a recording of up to 100 MiB in checked 3 MiB parts, and reading media back never fails for size: big copies step down, batches page, and long recordings come back in chunks.
Created
Added resumable part uploads: files over 3 MiB go up as numbered 3 MiB parts, each checked against its own SHA-256 before it is kept; Music assembles them into 9 MiB storage parts, and repeating begin picks up where an interrupted upload stopped.
Added paging to private-media reads, so a batch that does not fit one reply continues with a cursor instead of dropping items.
Fixed
Moved the upload relay off a web function that refused anything over 4.5 MB, which meant the advertised image and recording sizes could never have worked.
Stopped finishing an upload from loading a whole recording into memory; the stored file is now checked as a stream.
Media tools now say plainly when media storage is not set up yet, instead of failing inside the storage library.
Upgraded
Set honest limits: images 25 MiB, recordings 100 MiB (was an unsupported 500 MiB), public-link fetches 25 MiB, and at most 3 MiB of media per AI reply.
See it for yourself
Open /mcp-tool-contract.txt and confirm the three media tools describe 3 MiB parts, the 100 MiB recording ceiling, and cursor paging.
After the backend deploy, ask a connected AI to call music_status and read privateMedia: it says whether storage is configured before any upload is tried.
What we checked
Convex tests run the real upload routes, staging, grouping, finish, cleanup and read functions against a mocked storage provider: out-of-order and missing parts, part-hash binding, grouping into 9 MiB storage parts with a short final one, staged-part deletion, resume after a repeated begin, whole-file hash rejection, expiry cleanup, read step-down and paging under the byte budget, and the unconfigured-storage answer.
A measurement on this change's Vercel preview found that a PUT through the branded host fails above about 3.9 MiB, so the client part size is 3 MiB.
Not yet proved: real Backblaze multipart behaviour and the deployed Convex runtime. Those need storage keys and a backend deploy.
v1.2.0Public & live
Ask your AI to put something on your Queue for laterWhen you tell your connected AI to save a job for later, it can now write it into your Queue itself, with your words and its name on it. Its own ideas still wait in Ideas for you to decide.
Created
Your AI can write a Queue item when you ask it to ("add that to the list", "do it next time"). The item lands in Waiting for your AI like one you typed, and its Activity receipt shows which AI wrote it down and what you said.
A connection self-check your AI can call without any permission. It tells your AI which connection it is using, what it can read and change, any project limit, when it expires, and where you change it.
A short guide to how Music's records fit together, sent to every connected AI when it starts, so it saves work in the right place the first time.
Fixed
Upgraded
The wording for "Work your Queue items" in Settings → AI connections now says it includes writing down what you ask for. Connections you approved earlier keep working and show that the wording changed.
The AI guides now say what to do when an AI cannot see a new tool: start a new conversation, because a running conversation keeps the tool list it started with.
See it for yourself
After the backend deploy, start a new conversation with your connected AI and ask it to add something to your Queue for later. Open the Queue, find the new item in Waiting for your AI, and open its Activity to see your words and the AI's name.
Ask your AI to check its Music connection and compare what it says with Settings → AI connections.
What we checked
Repository tests cover the person-requested add under the ordinary sign-in grant, refusal under a read-only grant, the AI's own unrequested add still refused, replay of the same operation, refusal of a reused operation id with different content, the self-check working with the narrowest grant and returning no private record, the guide's length cap, and both MCP dialects listing and calling the new tool and action.
Not yet proven in production: the Convex functions behind this need the production deploy before an AI can use them.
v1.1.2Public & live
The selected Music note and plug iconBrowser tabs and installed shortcuts use the selected teal Music identity.
Created
Fixed
Browser and Apple-touch icons now use the approved note with its smaller plug inside.
Upgraded
Installable-app icons include full-size and maskable versions of the selected artwork.
See it for yourself
Open Music in a fresh tab and inspect its icon, or add it to your home screen.
What we checked
Local HTTP checks matched the selected PNG exports at the icon, Apple-touch and manifest URLs. This frontend-only change requires no backend deployment.
v1.1.1Public & live
The AI guide now distinguishes deployed tools from release sourceMusic's public AI guidance now says exactly which MCP tools production serves and which private-media tools are still waiting on the backend deploy and operational proof.
Created
Added one machine-readable deployment-truth record that partitions the release catalogue into deployed and production-pending tools.
Fixed
Stopped the AI guide, full LLM contract, and MCP tool contract from calling all 36 release-source tools live while production still serves 33.
Removed queue:create from the human AI guide's list of connection scopes; connected AIs cannot hold it and must put their own recommendations in Ideas.
Changed the parity gates so a source tool cannot become a production claim merely by appearing in the generated catalogue.
Upgraded
Marked each of the three private-media tools Production pending without weakening their schemas, scope boundaries, or source documentation.
See it for yourself
Open /ai/guide, /ai.txt, or /mcp-tool-contract.txt and confirm they say 33 tools are deployed while the three private-media tools are marked Production pending.
What we checked
Outside-in probes confirmed apex and www serve /mcp directly, anonymous POST returns the canonical OAuth challenge, protected-resource metadata names the branded resource, and Clerk advertises DCR, PKCE S256, revocation, and identity-only scopes.
The MCP and AI-doc verifiers now derive deployment claims from config/mcp-production-truth.json and require its deployed-plus-pending partition to equal the generated source catalogue.
v1.1.0Public & live
Private media can stay with the music work it belongs toYou and a connected AI can preserve exact private images or recordings with a project, song, version, research note, album, or Queue item without moving the local masters or exposing storage-provider links.
Created
Added resumable private image and recording uploads with first-party relay, tiny inline, and guarded public-source options.
Added bounded private-media reads: images use freshly encoded metadata-clean copies, while recordings remain exact private bytes.
Added an explicit image-publication and takedown lifecycle with rights evidence; recordings have no public path.
Fixed
Bound every OAuth call and selected-project boundary to the exact verified client, so a wider AI connection cannot lend authority to a narrower one.
Made retry, cleanup, exact-version checks, and single-use upload capabilities explicit so interrupted multi-file work does not silently duplicate or orphan media.
Upgraded
Added separate private-media read and write permissions to AI connection settings; signing in does not silently grant either one.
Kept capture time honest with camera, message, file, person-entered, or missing provenance, and added no GPS or location model.
See it for yourself
In Settings → AI connections, confirm private-media read and write are separate optional permissions.
With an approved connection, upload a synthetic image, attach its returned media ID through a normal Music save, and read back only its metadata-clean derivative.
Production provider, deployment, named-client, and cleanup receipts are recorded only after those rungs complete.
v1.0.1Public & live
Project details open as a real destinationThe planner's project-details control now uses an ordinary link, so it remains reliable across framework updates and behaves like navigation for people, keyboards, and browsers.
Created
Fixed
Made the planner's project-details control navigate directly to the selected project instead of relying on an event-only route push.
Upgraded
Updated the application framework and media-processing dependency to their current security-fixed releases.
See it for yourself
Open a project in Planner, choose Details, and confirm the matching project page opens and Back to planner returns to the same project.
What we checked
PR #290 passed TypeScript, lint, 869 unit/contract tests, the 4,235-page production build, and the full 237-case desktop/mobile browser smoke; the merged Vercel production deployment completed successfully.
v1.0.0Live, backend pending
Your data is yours: take all of it, or take it all backMusic can now hand you a complete, readable copy of everything it holds for you, and close your account and remove all of it — both without asking anyone. There is also one page listing every share link that still works, and a page that simply tells you how much you have stored and what your AI has been doing.
Merged and the pages are live, but the backend deploy has not run yet — parts of this may not work until it does.
Created
Added Settings, which did not exist as a page before — AI connections, what you have shared, and your data.
Added Settings → Your data: export everything as two files, a readable document and the same records as machine-readable JSON, and close your account permanently.
Added Settings → What you have shared: every share link that still works, when you shared it, whether it expires, and a Stop button on each row. A link whose record you deleted is listed too, because this is now the only place it can be closed.
Added a page of your own numbers: how much of each kind of record you have stored, how many tool calls your AI has made, how many connections are active, and when you started.
Fixed
Deleting your sign-in through the identity provider used to leave every one of your records in Music, permanently and invisibly. Music is now told, and removes them.
Typed-data migration diagnostics no longer appear on the Stats page. They were engineering checks on a page about your music, and the queries behind them now require an administrator.
The privacy page said you could delete your account from the account menu, which opened the identity provider and did not remove your records. It now points at the page that does, and describes both routes.
Upgraded
Export and deletion read one shared list of what belongs to you, so what you can take with you is by construction exactly what deletion removes — and a check refuses to build if that list ever falls behind the database.
Both run in bounded steps and report real progress, so a large account finishes rather than stopping halfway, and neither is a spinner that tells you nothing.
This page can now say how far a release has actually travelled, because the pages and the backend deploy separately and pretending otherwise was least accurate exactly when you were most likely to go and try the new thing.
See it for yourself
Open Settings → Your data and export. Two files should save: one you can read, one another program can read. Open the readable one and check your projects and songs are in it.
Open Settings → What you have shared. Every link you have out there should be listed, and Stop should make one of them stop working immediately.
Open your own page from the account menu and confirm the record counts match roughly what you know you have.
What we checked
Deleting one account leaves another account's records and the shared encyclopedia completely untouched, proved by test rather than by inspection.
An export covers exactly the tables a deletion empties — the two are checked against each other, so an export cannot quietly cover less than the deletion destroys.
The account-deletion webhook refuses a request that is unsigned, wrongly signed, tampered with, replayed, or arriving while no signing secret is configured.
Nothing in this release touches payment, distribution, or anything outside Assist With Music, and deleting Music never touches another Assist With site.
v0.8.5Public & live
Bring your own AI to Music, on terms you set and can checkYou can now connect your chosen AI to Assist With Music, decide exactly what it may do and which projects it may reach, see what it actually did, and take the whole thing back at any moment.
Created
Added AI connections at /settings/ai: approve a connection, pick a preset or hand-pick permissions, choose whether it reaches all your work or only named projects, set how long it lasts, and revoke one connection or every connection at once.
Added a plain record of what a connected AI did — including the one moment Music hands an approved outside step to your AI, and what your AI reported back — so the page answers what happened, not only what was blocked.
Fixed
A connection limited to selected projects now actually works: your AI can orient itself, see that project's Queue, and read and save its plans, while work in every other project stays out of reach.
Album work is refused with a plain explanation when a connection covers only some projects, because an album gathers songs from all of them.
Setup pages no longer publish step-by-step instructions for particular AI products. Music has not yet completed a full recorded connection with any named product, so the guidance describes the two kinds of setup instead and names products only as examples.
Upgraded
Signing in is still not permission: every tool call is checked against the connection you approved, re-read at the moment of the call, so revoking takes effect immediately for both the tool list and the tools themselves.
Permissions never cover permanent deletion, export, publishing, distribution, payment, accepting terms, or sending messages, and archiving stays the reversible tidy-up path.
See it for yourself
Open /settings/ai, approve a connection with the narrow Read only preset, and confirm your AI can read but not change anything.
Limit a connection to one project, then ask your AI to look around: it should see that project and say plainly that the rest is outside what you approved.
Revoke the connection and confirm the record of what it did stays on the page.
What we checked
A scripted connection lifecycle covers connect, consent, scoped tools, bounded read, save, follow-up, cross-owner refusal, revoke, reconnect, and cleanup with a re-query proving nothing synthetic is left behind.
No named AI product is described as supported; that claim waits on a real recorded connection with that product.
This release changes no music record, no payment, and nothing outside Assist With Music.
v0.8.4Public & live
The detailed AI tool guide now fits on a phoneThe registry-generated 32-tool working agreement now wraps long exact MCP names inside its Cards instead of pushing the whole phone page sideways.
Created
Fixed
Removed document-level horizontal overflow from the detailed AI guide at a 390-pixel phone width while retaining every exact tool name and description.
Upgraded
Added a focused browser contract that requires all 32 generated entries, a representative preferred tool, and document width equal to the phone viewport.
See it for yourself
Open the detailed AI guide on a phone and confirm the Live MCP tools Cards wrap within the page without losing their names or descriptions.
What we checked
Protected desktop/phone checks retain the joined Queue, MCP, Planner, and cleanup journey while adding the 390-pixel detailed-guide assertion.
This release changes no MCP tool, Queue or Planner record, creative data, auth/provider policy, or external service state.
v0.8.3Public & live
AI guidance now follows the live Music tool registryAssist With Music now generates its detailed human and agent tool catalog from the same registry that serves connected AIs, removing three stale hand-maintained mirrors without changing the released tools.
Created
Added one deterministic, reviewable catalog generated from the literal names and descriptions in the live 32-tool MCP registry.
Fixed
Removed duplicate tool-name and description lists from the detailed AI guide, ai.txt, and MCP contract verifier so future registry changes fail closed when guidance has not been regenerated.
Upgraded
Kept the connection-first AI experience and its workflow and safety guidance intact while proving the same 9 preferred, 19 legacy-compatibility, and 4 album-release tools across source and docs.
See it for yourself
Open the detailed AI guide or ai.txt and confirm all 32 tools remain described after the existing connection and owner-safety guidance.
What we checked
Focused extraction tests reject dynamic or duplicate public metadata; protected parity, AI-doc, TypeScript, build, and browser checks cover the generated result.
This release changes no MCP handler, argument, auth policy, Queue or Planner data, music record, or provider state.
v0.8.2Public & live
Connecting your AI is now the first clear stepThe Music AI page now starts with a calm, copyable connection path and keeps the deeper working agreement below the product tour.
Created
Added a three-step connection panel for adding the connector, approving owner-scoped access, and starting with Music context or Queue.
Added an accessible Copy connector URL action with explicit success and failure feedback.
Fixed
Moved connection setup from nearly two phone screens below the page introduction to the first action on desktop and phone.
Separated the signed-in workspace query from the public page so the connection and agent briefing remain server-rendered.
Upgraded
Grouped the deeper Music working agreement below the workspace tour: project direction, provenance, Queue states, Planner saves, loop discovery, and the honest Suno boundary stay readable without blocking setup.
See it for yourself
Open Your AI on desktop or phone, copy the canonical connector URL, and confirm the three setup steps appear before Loops, Signatures, research, and the detailed working agreement.
What we checked
Protected desktop and mobile browser checks cover page order, exact clipboard value, accessible copy feedback, and the retained agent briefing.
Production verification is read-only and does not change Queue, Planner, MCP access, music, or provider state.
v0.8.1Public & live
Queue, MCP, and Planner now share one protected owner workflowAssist With Music now continuously proves that a person's Queue handoff, their chosen AI's saved work, Planner playback, and every Project/Song/take link resolve to the same private owner records.
Created
Added one joined source integration journey from signed-in Queue creation and person response through stateless HTTP MCP to a saved, internally playable Planner result.
Fixed
Replaced the browser acceptance shortcut through lower-level Queue functions with the released owner-scoped MCP context, read, work, and activity handlers.
Expanded QA cleanup to remove research revisions, agent runs, plan interactions, and activity—not only the visible Queue and Planner rows.
Upgraded
Layered protected proof now checks stateless MCP context/read/save/work round trips, signed-in Queue responses, owner isolation, Queue versions, Project/Song/exact-take links, Suno provenance, playable audio data, and a real browser Play control.
See it for yourself
Create a temporary Queue handoff in a test workspace, let a connected AI save its result, answer one Needs you gate, then confirm the Done card opens the correct Project, Song, and exact playable Planner take.
What we checked
Candidate backend behavior is proved in the source-level stateless transport integration; the serialized non-production browser uses one hard-wired test owner and the released dev handlers, then cleans its temporary world to zero.
Production verification is read-only and does not select, download, publish, distribute, bill, or change real creative records.
v0.8.0Public & live
Queue items are easier to say, and every saved Suno take can playQueue handoffs now use short labels such as Queue 42 in conversation, while Planner safely restores internal playback for saved Suno takes that previously had only their provider link.
Created
Added stable owner-scoped Queue numbers and labels such as Queue 42 across Queue, song follow-ups, deep links, and connected-AI responses.
Fixed
Restored internal Planner playback for valid saved Suno takes whose version ID and trusted Suno song link match but whose earlier import omitted the direct audio URL.
Kept old MUS-Q references and links working as opaque compatibility identities without leaving them as the long visible label.
Upgraded
New and legacy Queue items receive one persisted per-owner number that is never recycled after Done, discard, or later cleanup and cannot resolve across owners.
Connected-AI guidance now teaches people to say Queue 42 and agents to use queueNumber, while still accepting old queueRef values for compatibility.
See it for yourself
Open Queue and confirm each card shows a short copyable Queue number and its direct link opens the same handoff.
Open a linked song, create a follow-up in a test workspace, and confirm the new handoff receives the next Queue number while the original remains intact.
Open Hope of Israel in Hymns Hip-Hop and confirm Promised Day Take 1 and Take 2 have internal Play controls while their separate Suno links remain available.
Protected CI, production migration, authenticated MCP readback, and signed-in desktop/phone playback proof are required before this release is marked live.
v0.7.0Public & live
Queue handoffs are easy to name, continue, and openAssist With Music now gives every Queue handoff a stable reference, preserves follow-up lineage, opens generated takes in Planner first, and lets connected AIs navigate the public genre encyclopedia before reading one rich entry.
Created
Added stable owner-scoped Queue references such as MUS-Q-2X8AASDY, with copy controls, direct Queue links, MCP lookup/action support, collision handling, and a bounded legacy backfill.
Added Follow-up request on Queue cards and linked song details; it creates a separate Waiting for your AI handoff with the original Queue item, song, project, and instructions preserved as lineage.
Added bounded genre discovery through the existing music_context tool: top-level genres, families, direct subgenres, and concise ranked search, followed by the exact-name rich recipe reader.
Fixed
Fixed project details for existing large catalogs so links such as Hymns Hip-Hop load from the indexed project projection instead of constructing the owner's full catalog.
Fixed generated-result navigation so each take opens that exact version in the owner-scoped Planner/player first, with a separate optional link to the original in Suno.
Kept song detail project navigation aligned with the song's current Planner project after an organization move.
Upgraded
Queue list, read, activity, and work responses now echo the stable Queue reference and direct link; owner-scoped lookup makes absent and foreign references indistinguishable.
Planner URLs now understand an optional take identifier and focus the requested version without autoplaying, selecting, downloading, publishing, or changing music data.
The AI hub, guide, ai.txt, llms.txt, full contract, and MCP contract now teach the discovery-to-exact-read workflow and Queue reference behavior with explicit caps and empty cases.
See it for yourself
Open a Done Queue card and confirm its reference can be copied, Project and Song open internally, and each generated take has distinct Planner and Suno choices.
Open Follow-up request from a Queue card or song, describe the next step, and confirm the new reference appears in Waiting for your AI while the original stays unchanged.
Ask a connected AI to list genres, navigate a family to direct subgenres, search an unfamiliar term, and hydrate one exact result.
What we checked
Focused tests cover reference stability, tenant isolation, follow-up lineage, migration idempotency, project-detail bounded reads, take deep links, safe Suno serialization, and encyclopedia discovery/search caps.
MCP and AI documentation consistency verifiers require the new discovery actions and Queue reference contract while preserving the same 32-tool catalog.
v0.6.0Public & live
Song records are readable from source to resultAssist With Music now presents lyrics, research, creative briefs, and generation context as one readable, copyable song record, while Planner and Queue make recent work and workflow timing easier to understand.
Created
Added a safe Markdown reader for source text, lyrics, research documents, creative briefs, prompts, and generation notes without executing stored HTML or unsafe links.
Added accessible copy actions for source text, individual research documents, Copy all research, lyric drafts, prompts, and generation notes.
Placed the active Generation prompt directly beside the source record, with Suno style and exclusions kept together and independently copyable.
Fixed
Made Most recent the first and default Planner sort on desktop and phone, while preserving alternate sorts and the indexed bounded phone path.
Replaced prominent TEXT-PLUS jargon with the clearer Exact public-domain hymn text + original arrangement language.
Reconciled 23 generated Hope of Israel handoffs from stale Needs you cards to Done while preserving their lyrics, research, plans, and existing Suno outputs; the unfinished Gospel-Trap plan remains honest.
Upgraded
Queue activity now retains compact relative time, exposes the full local date and time down to seconds on hover or keyboard focus, and shows elapsed time between workflow events.
Stored source links now open only safe web or internal destinations, while copied research preserves the original source text for provenance.
See it for yourself
Open Uphill from Summer and confirm the source, Generation prompt, research, and history read naturally and each intended section can be copied.
Open Planner on desktop and phone and confirm Most recent is selected and newest songs appear first.
Open Queue activity and confirm exact timestamps and elapsed durations remain readable on keyboard and phone layouts.
What we checked
Focused tests cover safe Markdown, copy formats, Planner ordering and bounded parity, Queue timing, readable labels, and generated-handoff reconciliation; a separate AI audit's four findings were fixed before release.
Live MCP and signed-in Queue readback verified the #259 cleanup without selecting a take or altering creative records.
v0.5.0Public & live
Your Music Queue is ready to useAssist With Music now has a focused Queue for durable handoffs between you and your chosen AI, with four honest states and the context needed to resume without reconstructing old conversations.
Created
Added a Music-native Queue screen with exactly Needs you, Working, Waiting for your AI, and Done.
Added directive-first cards with handoff timing, one exact person action, the current Music step, named project/song/source context, an openable result, and attributable activity.
Added a compact handoff composer that can keep work with a project, Singles, a new project, or let your AI file it later.
Fixed
Replaced the Queue navigation's unbounded legacy count with tenant-scoped, indexed, explicitly capped four-state counts.
Made connection language honest: Music can show that an AI checked the Queue before, but never claims it is connected right now or that work runs by itself.
Made new person-created handoffs record their first attributable activity receipt and hardened removable QA cleanup against older duplicate fixture rows.
Upgraded
Promoted Queue coverage into the dedicated authenticated desktop and phone QA world, with one removable fixture in each state and verified cleanup.
Kept owner actions behind optimistic version checks and unique operation receipts, while AI work remains bounded by Queue scopes, leases, and revocation.
See it for yourself
Open Queue from the main navigation and move through all four states; confirm each card explains what happened and what comes next.
Open Activity on a handoff and confirm it identifies You, Your AI, or Assist With Music without exposing an internal account identifier.
Confirm the connection receipt never promises that your AI is online or working automatically.
What we checked
Local proof passed 49 test files / 333 tests, the complete CI contract verifier set, and authenticated desktop/mobile Queue traversal against the removable development QA world.
Production user data was preserved unchanged; the QA fixture and its Queue activity cleaned to zero after browser proof.
v0.4.1Public & live
Planner moves now stay correct everywhereA planner reliability patch keeps project moves synchronized across summaries, targeted reads, imports, and repair tooling, so moved songs no longer appear in stale or conflicting project views.
Created
Added owner-scoped projection maintenance and a bounded repair path for older rows whose effective project no longer matched their canonical song record.
Fixed
Kept planner summaries and targeted project reads aligned immediately after a song moves between projects.
Repaired the production HYMN-032 projection from hymns-hiphop to hymns-jazz without changing its canonical song or version content.
Upgraded
Extended import, backfill, and move tests to cover same-key cross-owner isolation, idempotent repairs, and all derived song and version projection rows.
Verified production parity across 793 songs, 1,973 clips, and 10 bounded planner pages after the repair.
See it for yourself
Move a song to another project and confirm it disappears from the old project and appears in the new project without a refresh race or duplicate.
What we checked
PR #160 shipped the projection maintenance and repair tooling; production dry-run, apply, post-run idempotency, and bounded parity proof are recorded on the pull request and SONG-123.
v0.4.0Public & live
A release workspace for albums, from tracklist to handoffMusic now treats an album as a durable release workspace: assemble selected versions across projects, track the next release step, and prepare mastering and distribution handoffs without automating publishing or spend.
Created
Build an ordered album from songs that remain in their original projects. The album keeps one selected version per track and rejects unknown, mismatched, duplicate, or cross-owner assignments atomically.
Use four additive album tools — music_upsert_album, music_set_album_tracks, music_get_album_context, and music_update_release_progress — within the live 31-tool MCP catalog.
Open a signed-in album page to review its ordered tracks, selected audio, per-track release step, next action, and album-level artwork, metadata, and DistroKid preparation state.
Fixed
Made the MCP catalog discoverable to signed-in users while keeping every tool call deny-by-default when connected-agent access is disabled.
Sanitized album and planner domain errors at the gateway boundary so callers receive useful messages without leaking internal function names or stack details.
Removed a planner URL-synchronization race that could make required browser checks stall or land on the wrong project or album state.
Upgraded
Synchronized the 31-tool registry, public contract, AI guides, and automated contract verifiers around the four new album tools.
Promoted signed-in desktop and mobile browser smoke to a required main-branch gate, including the cross-project album release view and horizontal-overflow proof.
Proved the production backup and restore path across 54 tables and 36,655 rows before the next tenant-safety migration proceeds.
See it for yourself
Open an album from a project and confirm the ordered tracks, selected audio, next action, and release-state chips agree.
Connect an AI agent, confirm the live contract contains 31 tools, and use music_get_album_context to inspect the same album state.
Confirm release work remains preparation-only: there is no tool that publishes music, spends money, or submits a DistroKid release.
What we checked
PR #135 shipped the album pipeline; PRs #138, #140, and #141 completed deployment-size and MCP-boundary hardening.
Production browser proof on July 17, 2026 loaded the two-track QA Album Pipeline at 390px and 1280px with matching viewport and page widths; required main run 29604746479 passed desktop and mobile browser smoke.
Production backup run 29586844579 recorded 31 gateway tool rows and artifact convex-2026-07-17T14-10-27Z restored 54 of 54 tables with matching row counts.
v0.3.0Public & live
A safer, more capable home for your music and AI collaboratorsMusic now gives you a clearer mobile workflow, safer ways to collaborate and share, and a live connection for AI agents that remains under your control.
Created
Connect a compatible AI assistant through the branded https://assistwithmusic.com/mcp endpoint. It offers 27 tools for reading context, saving work, organizing projects, and moving requests forward.
Choose whether connected AI agents may access your private workspace with the per-user “Allow connected AI agents” setting. Turning it off blocks agent access without affecting your normal sign-in.
Set creative direction for a project, including ideas to avoid and influences to use sparingly, so people and agents share the same musical boundaries.
Keep standalone songs in Singles, capture and manage Requests comfortably on mobile, and store research documents and private artist notes alongside the work they support.
Fixed
Hardened the AI connection so callers cannot bypass internal authorization, cross into another user’s workspace, or use an unbranded server identity.
Made decisions tenant-safe and replaced guessable sharing paths with opaque, revocable links that owners can turn off.
Bounded large planner and research reads so growing libraries stay responsive instead of loading an unlimited amount of private data at once.
Upgraded
Requests, planner views, research, artists, and statistics now share one coherent quality-assurance world, making regressions easier to catch before release.
Protected the main code line with stronger automated checks for security boundaries, public agent documentation, release notes, production builds, and representative browser flows.
Refreshed the core application, design-system, testing, and Convex dependencies, including the WebSocket security fix in Convex 1.42.1.
See it for yourself
Confirm the connected-agent setting can deny and restore access for your own account.
Open Singles and Requests on a phone-sized screen and confirm the primary actions remain easy to reach.
Create and revoke a share link, then confirm the revoked link no longer opens the shared item.
What we checked
Release candidate proof is attached to the SONG-208 C+D pull request; production smoke was completed after merge, deployment, and the v0.3.0 tag.
v0.2.0Public & live
Agent workspace and MCP contract surfaceThis June 19 release added the first agent creation workspace and published the contract that later became the live MCP endpoint documented in v0.3.0.
Created
Added the agent-ready creation workspace V1 so planning work can be organized around durable songs, source notes, prompts, generation attempts, and review state.
Published the MCP tool contract draft at /mcp-tool-contract.txt for the next tool/OAuth implementation slice.
Linked the contract from /ai, /ai.txt, /llms.txt, and /llms-full.txt so assistants have one consistent place to learn the expected tool names and safety boundaries.
Fixed
At release time, clearly separated the planned MCP contract from the not-yet-live endpoint; the endpoint is now live at https://assistwithmusic.com/mcp.
Preserved the signed-out boundary for private planner data while keeping public AI documentation readable.
Upgraded
The AI documentation now explains the handoff between human creative judgment, external generation tools, and Music as the durable workspace.
Release proof now covers the AI guide, plain-text agent docs, full LLM contract, and MCP contract draft.
See it for yourself
Open /ai and confirm the current live MCP connection guide is discoverable.
Open /mcp-tool-contract.txt and confirm it describes the current live tool contract.
Open /planner while signed out and confirm the private workspace still routes through the sign-in boundary.
What we checked
PR #27 merged as f98c5d12655c1350876e0be8047d1dda82153089 and production routes /, /updates, /ai, /ai.txt, /llms.txt, and /llms-full.txt were proven.
PR #28 merged as 5ee8c223fe8754c0103a5507f4ef2e5f7ee44470 and production /mcp-tool-contract.txt returned HTTP 200 after Vercel completed.
v0.1.0Public & live
Initial release-log baselineInitial baseline/backfill for the existing Music app. Future entries will track user-facing changes from this point forward; older product history is intentionally summarized, not reconstructed.
Created
Created the standard What's New page at /updates so future releases have a visible home.
Fixed
The Updates destination now opens as a real page instead of a missing-page response.
Upgraded
Connected the visible release marker to the app's package version source.
See it for yourself
Open /updates and confirm the baseline wording feels accurate and conservative.
What we checked
PR #26 route commit 453d553 was committed at 2026-06-19T13:07:40Z.