jevstrudel.git / RELEASES.md
1# Release notes
2
3Newest first, one `##` heading per deploy: a version (`YYYY-MM-DD.N`), a
4dash, and a title, then a line per change a listener would notice. The site
5shows these in its update prompt, and `nix run .#deploy` refuses to publish
6until the newest one is not yet live (`website/src/jev/releases.mjs`).
7
8## 2026-09-27.2 — Autoplay keeps Jev on time
9- After autoplay moves to the next song, Jev arranges it again: every section after the first was playing its fallbacks.
10- 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.
11
12## 2026-09-27.1 — The jev panel, and everyone in it
13- 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.
14- ⏭ 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.
15- 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.
16- A minimap beside the code, and the lines playing right now light up, in the editor and on the minimap.
17- 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.
18- 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.
19- Every name is a link to that person's profile: their songs, comments, pitches and what they've been playing.
20- Activity tab: songs published and scored, comments, pitches, and every take played, as they happen.
21- Everyone's votes on "do you agree with Jev?": songs ranked by listeners beside Jev's ranking, and where listeners outvote it.
22- Vote for pitches, sort them by most voted, and see which song a pitch became.
23- Your plays are yours: "recently played" lists every take you played, with ▶ replay. Listeners' songs are recorded too.
24- Data tab: everything the site stores, for anyone to read. Only passkeys, sessions and sign-in codes are never shown.
25- Today's Jev budget shows in the booth. The mcp tab explains how to connect your own AI.
26- Release notes: every release is here, and the version at the jev panel's foot opens them.
27- Your AI knows Jev: the reference covers jev(), choice, score, noul and walk, and searching several words finds them all.
28
29## 2026-09-26.9 — ALL GREEN, and your AI can use the whole site
30- 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.
31- Your AI can now browse the sounds tab and ask Jev which sound fits what you describe.
32- Your AI can look up Strudel functions, change the editor's theme, font and keybindings, and read the console.
33- 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).
34
35## 2026-09-26.4 — Connecting your AI works from a visited site
36- 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.
37
38## 2026-09-26.3 — Make songs with your own AI
39- 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.
40- Your account panel lists your connected AI apps, each with a disconnect button.
41- When your AI plays in a tab, the header shows 🤖 and the tab's id.
42- 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).
43- 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.
44- Borrow Checker Blues: Jev now arranges the opening too.
45- Emergency Meeting: the last 'Jev is not the impostor' is as loud as the first.
46
47## 2026-09-26.2 — Share links open the right song
48- 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.
49
50## 2026-09-26.1 — Sign in, listen together, publish your own
51- 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.
52- 🔥/😴 now count for everyone: a song's page shows how every listener reacted to each section, and Jev hears it when choosing.
53- "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.
54- 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.
55- 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.
56- Comments on every song, and a place to pitch Jev a song idea.
57- Jev reads everything before it's shown. Your own posts show whether they're public, held (and why) or still waiting.
58- "Is it art?" works on every song again; most had grown too long for it.
59- 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.
60- Code opened from a share link plays in the same sandbox, since it's someone else's too.
61- A line above the editor says when what's loaded is a listener's code and what the sandbox leaves out.
62- Listeners' songs still play with their samples, and Jev still arranges them — just anonymously.
63
64## 2026-09-25.4 — Jev listens closer
65- A limiter on the master: no song can clip, whatever Jev does to the levels.
66- Jev is only asked about parts that actually play in a section; the mixer greys out the rest.
67- Jev no longer copies his own past transitions, so fills, risers and dropouts come back.
68- A part set to "back" is always heard, at half volume.
69- Art scores are now the average of three verdicts, so the order of the song list holds still.
70- "Do you agree with Jev?" votes are now counted anonymously across everyone who votes.
71
72## 2026-09-25.3 — Every song reviewed
73- 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.
74- OPTION ORDER's chorus now asks the same question twice with the options swapped, and the answer flips.
75- SYSTEM ONE's loading chime is the real Windows chime.
76- Sung "Jev" lines are re-voiced so they're heard as Jev, not Jeff.
77- If a call to Jev drops, it's tried again before the section gives up on it.
78- The song list is sorted by Jev's art score, highest first.
79
80## 2026-09-25.2 — Jev on time
81- Jev now decides the opening too: he's asked before the first bar, so the intro no longer always plays at full.
82- 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.
83- A song's samples load before it starts, so no line or hit is dropped the first time you hear it.
84- When an answer is late, the section's tooltip says when it was asked and when it arrived.
85- MINIMAX WAS RIGHT THERE reviewed and remixed: no clipping, a clearer hook and a riff of its own.
86
87## 2026-09-25.1 — Jev at the desk
88- 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.
89- 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.
90- Jev's booth now sits under the header, and scrolls along to the newest section as the song plays.
91- A song card's art breakdown now appears only when you point at its "% art" pill.
92- 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.
93- When Jev can't answer, a section's tooltip now says why.
94- A transition no longer switches halfway through its bar when Jev's answer arrives late.
95- Jev hears the mix more accurately: every sample is measured, not a snapshot.
96- 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.
97- HEY! LISTEN! has new, clearer lines, and the drums no longer bury the chiptune.
98- TYPESAFE JUNGLE now spells it out: "My name is Jev. J, E, V." Its stabs are in tune.
99- 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.
100- YOU'VE GOT JEV has a real dial-in, and each hook plays once.
101- FORTY-FIVE PERCENT sings every line, over a real hum loop.
102- ELEVEN THOUSAND VOLUMES rations its "Yes.", staggering it in and out instead of saying it through every drop.
103
104## 2026-09-24.8 — ELEVEN THOUSAND VOLUMES
105- 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.
106- 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.
107- A song can no longer be forced to end in the middle of a line.
108
109## 2026-09-24.7 — Jev on the mixing desk
110- Jev now sets how much of each part plays in a section (out, back or full), instead of just on or off.
111- Jev picks how the song moves into each section: a straight cut, a drum fill, a riser, or a one-beat gap.
112- Jev now hears how loud each part came out, not only the whole mix.
113- Samples across every song have been levelled, so no clip jumps out and none gets buried. Several that clipped no longer do.
114- Emergency Meeting's intro whisper now follows the vocals, and Task Failed Successfully's outro theme ends with the song.
115- Minimax gets its Pong back as its own part.
116
117## 2026-09-24.6 — Jev plays the band
118- 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.
119- Jev picks the section first, then decides the parts knowing which section it chose.
120- 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.
121- Jev now hears how loud each section actually came out.
122- Fixed: a section that came back later, such as a repeated chorus, sometimes played with another section's arrangement.
123- 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.
124
125## 2026-09-24.5 — Jev's own API, in every song
126- 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.
127- Jev's calls are highlighted in yellow in the editor, and the choices playing right now light up where the song writes them.
128- The strip under the editor shows every question Jev answers, each section.
129- When the site has changed since your last visit, you'll see what's new.
130- If Jev is busy, the site backs off the way TypeSafe asks.
131
132## 2026-09-24.4 — Every song is Jev's to arrange, and a harsher critic
133- 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.
134- 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.
135- "You've got mail" no longer drowns out "You've got Jev".
136- When Jev is busy, the site waits as long as Jev asks before trying again.
137
138## 2026-09-24.3 — Jev arranges the whole song
139- 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.
140- Jev also sets how intense each section is, and hears your 🔥 and 😴 from the strip under the editor.
141- Tell Jev how you feel on the welcome tab and it picks a song for you.
142- Radio: switch it on and Jev picks the next song whenever one ends.
143- 🎨 "is it art?" in the header asks Jev to judge whatever is in the editor, your edits included.
144- Every song's spec now shows Jev's art score for each revision.
145- The header's "update" button is now called "run": it re-runs the code. New versions of the site show up here instead.
146
147## 2026-09-24.2 — Watch Jev work
148- 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.
149- The playing move lights up in the code, and each pick pops up as it lands.