jevstrudel.git / RELEASES.md

Release notes

Newest first, one ## heading per deploy: a version (YYYY-MM-DD.N), a dash, and a title, then a line per change a listener would notice. The site shows these in its update prompt, and nix run .#deploy refuses to publish until the newest one is not yet live (website/src/jev/releases.mjs).

2026-09-27.2 — Autoplay keeps Jev on time

  • After autoplay moves to the next song, Jev arranges it again: every section after the first was playing its fallbacks.
  • On a first visit, the song you click is the one that plays, with its booth, request log and autoplay. It could play the welcome song instead.

2026-09-27.1 — The jev panel, and everyone in it

  • Everything jevstrudel adds now lives in the jev panel on the left (☰ jev): songs, activity, listening, you, mcp and data. The header and the right panel are Strudel's again.
  • ⏭ next beside play: Jev picks another song for you from what you've played. The autoplay switch beside it plays Jev's next pick when a song ends.
  • Jev at work sits under the editor, always: the booth, the mixer, and a request log of everything Jev was asked, newest on top. No more popups.
  • A minimap beside the code, and the lines playing right now light up, in the editor and on the minimap.
  • Listening: see who's listening to what and how far through, 🎧 listen along to hear it in sync, and join live listening parties. "show me here" keeps you off the list.
  • A song's page shows its comments first, who has it open now, its parties, every take Jev played of it with ▶ replay, and a map of how Jev moves through it.
  • Every name is a link to that person's profile: their songs, comments, pitches and what they've been playing.
  • Activity tab: songs published and scored, comments, pitches, and every take played, as they happen.
  • Everyone's votes on "do you agree with Jev?": songs ranked by listeners beside Jev's ranking, and where listeners outvote it.
  • Vote for pitches, sort them by most voted, and see which song a pitch became.
  • Your plays are yours: "recently played" lists every take you played, with ▶ replay. Listeners' songs are recorded too.
  • Data tab: everything the site stores, for anyone to read. Only passkeys, sessions and sign-in codes are never shown.
  • Today's Jev budget shows in the booth. The mcp tab explains how to connect your own AI.
  • Release notes: every release is here, and the version at the jev panel's foot opens them.
  • Your AI knows Jev: the reference covers jev(), choice, score, noul and walk, and searching several words finds them all.

2026-09-26.9 — ALL GREEN, and your AI can use the whole site

  • New song: ALL GREEN. Krug's JevLM plays Wordle live: it scans the words that still fit, spells its guess, and the tiles play the rhythm in 5/4. It ends when a row turns all green, or after six tries.
  • Your AI can now browse the sounds tab and ask Jev which sound fits what you describe.
  • Your AI can look up Strudel functions, change the editor's theme, font and keybindings, and read the console.
  • Your AI can play any song, ask Jev for one by mood, react 🔥/😴, vote in "do you agree with Jev?", and comment (screened by Jev).

2026-09-26.4 — Connecting your AI works from a visited site

  • Connecting an AI app no longer shows the song browser instead of the sign-in and consent page, after the site had been visited once.

2026-09-26.3 — Make songs with your own AI

  • Make songs with your own AI: connect Claude Code, Claude, or any MCP client at /ai/. It plays in your open tab, in a sandbox, and can publish songs for Jev to screen.
  • Your account panel lists your connected AI apps, each with a disconnect button.
  • When your AI plays in a tab, the header shows 🤖 and the tab's id.
  • Jev can no longer loop a groove or a drop until a song runs out: each loop goes round once more at most (nine songs).
  • Jev picks each next section knowing how the last ones were arranged (which parts played, the transitions and the energy), so it can build and release.
  • Borrow Checker Blues: Jev now arranges the opening too.
  • Emergency Meeting: the last 'Jev is not the impostor' is as loud as the first.
  • A shared performance or listening-party link now opens its own song; after the site had been visited once, it opened LIGHTNING IN A BOTTLE instead.

2026-09-26.1 — Sign in, listen together, publish your own

  • Sign in with a passkey (no password, no email): your Jev calls get a daily budget of your own, and the radio remembers what it played for you on every device.
  • 🔥/😴 now count for everyone: a song's page shows how every listener reacted to each section, and Jev hears it when choosing.
  • "Share this performance": when a song ends, or you stop it after its opening, the booth gives you a link that replays exactly what Jev chose, with no new Jev calls.
  • Listen together: start a listening party from a song's page and share the link. Everyone hears the same song with the same Jev, in time, even joining mid-song, and everyone's 🔥/😴 reaches Jev.
  • Publish your own songs: signed in, the jev tab publishes the code in the editor as your song, with revisions and a cover, scored by the same art critic as the site's songs.
  • Comments on every song, and a place to pitch Jev a song idea.
  • Jev reads everything before it's shown. Your own posts show whether they're public, held (and why) or still waiting.
  • "Is it art?" works on every song again; most had grown too long for it.
  • A listener's song now plays in an isolated sandbox, apart from the page and your account: its code can't read your session, comment or publish as you, or spend your Jev budget.
  • Code opened from a share link plays in the same sandbox, since it's someone else's too.
  • A line above the editor says when what's loaded is a listener's code and what the sandbox leaves out.
  • Listeners' songs still play with their samples, and Jev still arranges them — just anonymously.

2026-09-25.4 — Jev listens closer

  • A limiter on the master: no song can clip, whatever Jev does to the levels.
  • Jev is only asked about parts that actually play in a section; the mixer greys out the rest.
  • Jev no longer copies his own past transitions, so fills, risers and dropouts come back.
  • A part set to "back" is always heard, at half volume.
  • Art scores are now the average of three verdicts, so the order of the song list holds still.
  • "Do you agree with Jev?" votes are now counted anonymously across everyone who votes.

2026-09-25.3 — Every song reviewed

  • The rest of the library is reviewed and remixed, and no song clips any more: SELECT * FROM JEV, OPTION ORDER, EMERGENCY MEETING, LIGHTNING IN A BOTTLE, SYSTEM ONE and TASK FAILED SUCCESSFULLY.
  • OPTION ORDER's chorus now asks the same question twice with the options swapped, and the answer flips.
  • SYSTEM ONE's loading chime is the real Windows chime.
  • Sung "Jev" lines are re-voiced so they're heard as Jev, not Jeff.
  • If a call to Jev drops, it's tried again before the section gives up on it.
  • The song list is sorted by Jev's art score, highest first.

2026-09-25.2 — Jev on time

  • Jev now decides the opening too: he's asked before the first bar, so the intro no longer always plays at full.
  • When Jev's answer arrives after a section has started, it plays from the next bar instead of being thrown away for the whole section.
  • A song's samples load before it starts, so no line or hit is dropped the first time you hear it.
  • When an answer is late, the section's tooltip says when it was asked and when it arrived.
  • MINIMAX WAS RIGHT THERE reviewed and remixed: no clipping, a clearer hook and a riff of its own.

2026-09-25.1 — Jev at the desk

  • New: Jev's mixer under the editor. Faders, knobs and level meters for every part Jev controls, gliding to each new setting as a section starts; a dashed outline shows where they go next.
  • The welcome tab is now called "jev". Picking a song opens it in place, with its art breakdown and spec, and a breadcrumb back to the list.
  • Jev's booth now sits under the header, and scrolls along to the newest section as the song plays.
  • A song card's art breakdown now appears only when you point at its "% art" pill.
  • A link to a song now plays that song when you open it, even in a tab that has already played something, and opens on the song's page.
  • When Jev can't answer, a section's tooltip now says why.
  • A transition no longer switches halfway through its bar when Jev's answer arrives late.
  • Jev hears the mix more accurately: every sample is measured, not a snapshot.
  • Seven songs reviewed and remixed, and none of them clips any more: HEY! LISTEN!, TYPESAFE JUNGLE, TOO CHEAP TO METER, YOU'VE GOT JEV, BORROW CHECKER BLUES, FORTY-FIVE PERCENT and ELEVEN THOUSAND VOLUMES.
  • HEY! LISTEN! has new, clearer lines, and the drums no longer bury the chiptune.
  • TYPESAFE JUNGLE now spells it out: "My name is Jev. J, E, V." Its stabs are in tune.
  • TOO CHEAP TO METER's "Gate the sudo command" is re-sung so it can be heard, and the second verse plays on every path.
  • YOU'VE GOT JEV has a real dial-in, and each hook plays once.
  • FORTY-FIVE PERCENT sings every line, over a real hum loop.
  • ELEVEN THOUSAND VOLUMES rations its "Yes.", staggering it in and out instead of saying it through every drop.

2026-09-24.8 — ELEVEN THOUSAND VOLUMES

  • New song: ELEVEN THOUSAND VOLUMES. Lieutenant Commander Data points a browser at an ebook store and has Jev answer "Yes." to every download, faster and faster, until the store rate-limits him. He has eleven thousand books and can't open any of them.
  • Jev now works out where the song is before choosing a part's level, and some transitions are only offered where they make musical sense.
  • A song can no longer be forced to end in the middle of a line.

2026-09-24.7 — Jev on the mixing desk

  • Jev now sets how much of each part plays in a section (out, back or full), instead of just on or off.
  • Jev picks how the song moves into each section: a straight cut, a drum fill, a riser, or a one-beat gap.
  • Jev now hears how loud each part came out, not only the whole mix.
  • Samples across every song have been levelled, so no clip jumps out and none gets buried. Several that clipped no longer do.
  • Emergency Meeting's intro whisper now follows the vocals, and Task Failed Successfully's outro theme ends with the song.
  • Minimax gets its Pong back as its own part.

2026-09-24.6 — Jev plays the band

  • Jev now decides which parts play each section, one yes or no per part: drop the drums for tension, strip it back to the bass, bring everything back for the payoff. The strip lights up the parts that are playing.
  • Jev picks the section first, then decides the parts knowing which section it chose.
  • Jev's section choice isn't always its top pick, so two plays of a song can take different paths. The strip shows when that happened.
  • Jev now hears how loud each section actually came out.
  • Fixed: a section that came back later, such as a repeated chorus, sometimes played with another section's arrangement.
  • New on the welcome tab: "do you agree with Jev?" Pick the more-art of two songs and see how often you and the critic agree. Your votes stay in your browser.

2026-09-24.5 — Jev's own API, in every song

  • Every song now declares Jev at the top in TypeSafe's own shape: jev({ state, questions }) with choice, score and noul, the same as TypeSafe's SDK. Jev's answers are Strudel patterns you can compose.
  • Jev's calls are highlighted in yellow in the editor, and the choices playing right now light up where the song writes them.
  • The strip under the editor shows every question Jev answers, each section.
  • When the site has changed since your last visit, you'll see what's new.
  • If Jev is busy, the site backs off the way TypeSafe asks.

2026-09-24.4 — Every song is Jev's to arrange, and a harsher critic

  • All 13 songs now have a form: Jev picks each next section, what plays in it and how intense it is, and decides when the song ends.
  • The art score is now a critic's rubric: hook, development, structure, concept, originality and craft, each out of 5. 60% means good; three notes scores 2%. Hover a song's cover to see how it scored.
  • "You've got mail" no longer drowns out "You've got Jev".
  • When Jev is busy, the site waits as long as Jev asks before trying again.

2026-09-24.3 — Jev arranges the whole song

  • Lightning in a Bottle has no fixed length now: Jev picks which section comes next, repeats a chorus or goes back to the drop, and ends the song by choosing the outro.
  • Jev also sets how intense each section is, and hears your 🔥 and 😴 from the strip under the editor.
  • Tell Jev how you feel on the welcome tab and it picks a song for you.
  • Radio: switch it on and Jev picks the next song whenever one ends.
  • 🎨 "is it art?" in the header asks Jev to judge whatever is in the editor, your edits included.
  • Every song's spec now shows Jev's art score for each revision.
  • The header's "update" button is now called "run": it re-runs the code. New versions of the site show up here instead.

2026-09-24.2 — Watch Jev work

  • A strip under the editor shows each of Jev's picks as the song plays, with how confident it was; click one to see its odds.
  • The playing move lights up in the code, and each pick pops up as it lands.