版本发布 8
March 2026 release ## What's Changed * deploying Tulip Web by @bwhitman in https://github.com/shorepine/tulipcc/pull/666 * Update tulipcc for AMY typed breakpoint arrays (issue #525) by @bwhitman in https://github.com/shorepine/tulipcc/pull/664 * AMYboard: shared environments + web environment workflow by @bwhitman in https://github.com/shorepine/tulipcc/pull/667 * Merge pr-667 follow-up amyboardweb editor/index updates by @bwhitman in https://github.com/shorepine/tulipcc/pull/669 * Fix Linux sed usage in web build scripts by @bwhitman in https://github.com/shorepine/tulipcc/pull/670 * Make external MIDI realtime sync opt-in via tulip.external_midi_sync() by @bwhitman in https://github.com/shorepine/tulipcc/pull/671 * Add Tulip release instructions to AGENTS.md by @bwhitman in https://github.com/shorepine/tulipcc/pull/672 * Docs: add MIDI F8 external sync API notes by @bwhitman in https://github.com/shorepine/tulipcc/pull/673 * load env on amyboard boot, ignore midi.py setup on amyboard by @bwhitman in https://github.com/shorepine/tulipcc/pull/674 * Amyboardweb editor layout updates + web hook guards by @bwhitman in https://github.com/shorepine/tulipcc/pull/675 * Add stderr logging hook and amyboard environment transfer fixes by @bwhitman in https://github.com/shorepine/tulipcc/pull/676 * Add safe git merge procedure to AGENTS by @bwhitman in https://github.com/shorepine/tulipcc/pull/677 * Load amyboard synth patch by @dpwe in https://github.com/shorepine/tulipcc/pull/678 * Update AMY submodule and add ESP-IDF build instructions by @bwhitman in https://github.com/shorepine/tulipcc/pull/680 * amy_parameters.js: Fix for save/restore osc amplitudes. by @dpwe in https://github.com/shorepine/tulipcc/pull/682 * WIP: Better architecture for amyboardworld by @bwhitman in https://github.com/shorepine/tulipcc/pull/681 * Pin merged AMY #560 and align Tulip demo PCM presets by @bwhitman in https://github.com/shorepine/tulipcc/pull/684 * web wavetable support by @bwhitman in https://github.com/shorepine/tulipcc/pull/683 * amyboardweb: wave preset UI + reliable wave state sync by @bwhitman in https://github.com/shorepine/tulipcc/pull/685 * amyboard: define AMY_WAVETABLE at compile time by @bwhitman in https://github.com/shorepine/tulipcc/pull/686 * Restrict amyboard editor loads to text extensions by @bwhitman in https://github.com/shorepine/tulipcc/pull/687 * amyboardweb: reduce sysex delay and fix tar_extract truncation by @bwhitman in https://github.com/shorepine/tulipcc/pull/688 * amyboardweb: use web.patch + .patch boot execution by @bwhitman in https://github.com/shorepine/tulipcc/pull/689 * Fix web.patch rewrite during environment patch load by @bwhitman in https://github.com/shorepine/tulipcc/pull/690 * Issue #691: move Tulip World to shared Railway DB architecture by @bwhitman in https://github.com/shorepine/tulipcc/pull/693 * Deploy Tulip Web artifacts and release-note update by @bwhitman in https://github.com/shorepine/tulipcc/pull/694 * Re-think patch syncing by @bwhitman in https://github.com/shorepine/tulipcc/pull/695 * Fix amy _Generic build error on ESP-IDF by @bwhitman in https://github.com/shorepine/tulipcc/pull/696 * Fix pointer cast warnings on 32-bit ESP32 by @bwhitman in https://github.com/shorepine/tulipcc/pull/697 * Fix knob sync: use AMY reset defaults for all knobs by @bwhitman in https://github.com/shorepine/tulipcc/pull/698 * Use ic255 to clear MIDI CC mappings instead of iv0 by @bwhitman in https://github.com/shorepine/tulipcc/pull/699 * Add JS named-parameter API for AMY by @bwhitman in https://github.com/shorepine/tulipcc/pull/700 * Pin amy: fix ic255 short-form parsing by @bwhitman in https://github.com/shorepine/tulipcc/pull/701 * Add patch uploads and sub-tabs to AMYboard World by @bwhitman in https://github.com/shorepine/tulipcc/pull/702 * Fix patch upload dropdown not populating on Patches tab by @bwhitman in https://github.com/shorepine/tulipcc/pull/703 * Fix CORS errors for cross-origin fetches in mini-coi.js by @bwhitman in https://github.com/shorepine/tulipcc/pull/704 * Fix preview patch wire code and add settle delay by @bwhitman in https://github.com/shorepine/tulipcc/pull/705 * Refresh patch upload dropdown when World tab is reopened by @bwhitman in https://github.com/shorepine/tulipcc/pull/706 * Replace raw AMY wire codes with amy_send() calls by @bwhitman in https://github.com/shorepine/tulipcc/pull/707 * Polish AMYboard World sub-tabs UI by @bwhitman in https://github.com/shorepine/tulipcc/pull/708 * Use AMY's JS API gen script, remove tulipcc duplicate by @bwhitman in https://github.com/shorepine/tulipcc/pull/709 * static/spss.js: Fix LFO params from Juno patches; fix osc reset before patch load. by @dpwe in https://github.com/shorepine/tulipcc/pull/710 * Simplify command to reset oscs before loading patch. by @dpwe in https://github.com/shorepine/tulipcc/pull/711 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-feb-2026...v-mar-2026
A big release behind the scenes: AMY is now handling quite a lot more than it used to. ## What's Changed * AMY-side instruments and MIDI in Tulip by @bwhitman in https://github.com/shorepine/tulipcc/pull/585
Biggest new features * AMYboard target -- forthcoming hardware + web UI * AMY over SYSEX mode * SYSEX input for Tulip in Python * Direct access to audio input and output sound buffers in Python in Tulip ## What's Changed * AMYboard bringup by @bwhitman in https://github.com/shorepine/tulipcc/pull/535 * Allow use of un-aliased Tulip fonts in LVGL by @bwhitman in https://github.com/shorepine/tulipcc/pull/540 * ANSI fixes & control-q/tab bugfix by @bwhitman in https://github.com/shorepine/tulipcc/pull/542 * CDC+MIDI gadget mode for AMYboard by @bwhitman in https://github.com/shorepine/tulipcc/pull/547 * v1 of amyboardweb by @bwhitman in https://github.com/shorepine/tulipcc/pull/548 * new release.sh, amyboard upgrade() by @bwhitman in https://github.com/shorepine/tulipcc/pull/554 * world on web has messages() by @bwhitman in https://github.com/shorepine/tulipcc/pull/556 * adding douglas's sound tour by @bwhitman in https://github.com/shorepine/tulipcc/pull/557 * AMY over SYSEX on Tulip / AMYboard by @bwhitman in https://github.com/shorepine/tulipcc/pull/559 * SYSEX input support (#378) by @bwhitman in https://github.com/shorepine/tulipcc/pull/562 * working framebuf emulator on amyboardweb by @bwhitman in https://github.com/shorepine/tulipcc/pull/563 * Support for AMY input and output buffer callbacks in Python by @bwhitman in https://github.com/shorepine/tulipcc/pull/566 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-mar-2025...v-apr-2025
## What's Changed * We've added MIP , a way to install MicroPython packages remotely https://github.com/shorepine/tulipcc/pull/491 * The Tulip Web app https://tulip.computer/run/ has lots of great example snippets * Fixes to midi.py to reset back to default tstate @dpwe in https://github.com/shorepine/tulipcc/pull/496 * A new Sequencer object to manage the Tulip/AMY sequencer @bwhitman in https://github.com/shorepine/tulipcc/pull/499 * Tulip Web has a better short link share @bwhitman in https://github.com/shorepine/tulipcc/pull/504 * AMY now supports a LOT more sequence space, thanks to sequence delta storing to Tulip by @bwhitman in https://github.com/shorepine/tulipcc/pull/510 * Tulip Web lets you use audio in * Tulip Desktop lets you type in the terminal by @bwhitman in https://github.com/shorepine/tulipcc/pull/513 * deploying Tulip Web by @bwhitman in https://github.com/shorepine/tulipcc/pull/514 * Tulip has two types of ticks, amy and Tulip. by @bwhitman in https://github.com/shorepine/tulipcc/pull/523 * resizeablecodemirror by @bwhitman in https://github.com/shorepine/tulipcc/pull/525 * macos desktop control-D quits and restores termios by @bwhitman in https://github.com/shorepine/tulipcc/pull/527 * only hide task bar if set explicitly by @bwhitman in https://github.com/shorepine/tulipcc/pull/528 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-feb-2025...v-mar-2025
Mostly Tulip web and the piano! https://tulip.computer/run/ ## What's Changed * fixing ulab collision by @bwhitman in https://github.com/shorepine/tulipcc/pull/434 * new tulip_piano by @bwhitman in https://github.com/shorepine/tulipcc/pull/435 * all notes off fix by @bwhitman in https://github.com/shorepine/tulipcc/pull/437 * Bring in the new C dpwe piano into Tulip by @bwhitman in https://github.com/shorepine/tulipcc/pull/438 * COI and FS sync by @bwhitman in https://github.com/shorepine/tulipcc/pull/439 * voices.py: fix error when menu changes to be shorter than stored sele… by @dpwe in https://github.com/shorepine/tulipcc/pull/441 * midi.py: Fix to remove repeated note from sustained_notes by @dpwe in https://github.com/shorepine/tulipcc/pull/450 * midi.py: config.add_synth() returns the new Synth object. by @dpwe in https://github.com/shorepine/tulipcc/pull/451 * midi.py: Drums on midi channel 10 can be overridden. by @dpwe in https://github.com/shorepine/tulipcc/pull/452 * midi.config.add_synth now subsumes add_synth_object. by @dpwe in https://github.com/shorepine/tulipcc/pull/453 * resizable screenshot by @bwhitman in https://github.com/shorepine/tulipcc/pull/454 * tfb_str updates row at a time by @bwhitman in https://github.com/shorepine/tulipcc/pull/457 * Code sharing widget for Tulip Web by @bwhitman in https://github.com/shorepine/tulipcc/pull/458 * use no audio in mode on web, too annoying by @bwhitman in https://github.com/shorepine/tulipcc/pull/460 * make mobile open the keyboard by @bwhitman in https://github.com/shorepine/tulipcc/pull/461 * using SDL mouse math instead of mine by @bwhitman in https://github.com/shorepine/tulipcc/pull/463 * (Almost) all the packins now work on tulip web by @bwhitman in https://github.com/shorepine/tulipcc/pull/469 * file system viewer by @bwhitman in https://github.com/shorepine/tulipcc/pull/472 * Better file tree support, uploading, downloading, etc by @bwhitman in https://github.com/shorepine/tulipcc/pull/473 * midi.py: Add `midi.config.reset()` to release & reset all synths/voices. by @dpwe in https://github.com/shorepine/tulipcc/pull/477 * tulip world on web by @bwhitman in https://github.com/shorepine/tulipcc/pull/478 * Separate synth.py from midi.py by @bwhitman in https://github.com/shorepine/tulipcc/pull/466 * up AMY to 180 oscillators for 6 polyphony piano by @bwhitman in https://github.com/shorepine/tulipcc/pull/486 * new AMY constants by @bwhitman in https://github.com/shorepine/tulipcc/pull/490 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-jan-2025...v-feb-2025
## What's Changed * Get remote UART access to T-Deck working again by @bwhitman in https://github.com/shorepine/tulipcc/pull/417 * syncing modsocket with the latest MP changes (possibly fixing tdeck 202 errors?) by @bwhitman in https://github.com/shorepine/tulipcc/pull/418 * TDeck wheel in LVGL by @coolcoder613eb by @bwhitman in https://github.com/shorepine/tulipcc/pull/419 * Tulip Web by @bwhitman in https://github.com/shorepine/tulipcc/pull/421 * web readme by @bwhitman in https://github.com/shorepine/tulipcc/pull/422 * pointer fix for gt911_touchscreen.c by @gunadai in https://github.com/shorepine/tulipcc/pull/430 * ulab and dan's piano by @bwhitman in https://github.com/shorepine/tulipcc/pull/433 ## New Contributors * @gunadai made their first contribution in https://github.com/shorepine/tulipcc/pull/430 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-nov-2024...v-jan-2025
headline features: T-Deck support again, AMY sequencer (no more sequencer glitches), Alles support again, better USB keyboard support ## What's Changed * no longer need pkg-config libffi on tulip desktop by @bwhitman in https://github.com/shorepine/tulipcc/pull/401 * USB boot protocol request by @bwhitman in https://github.com/shorepine/tulipcc/pull/404 * Tulip changes for AMY memorypcm and audio-in by @bwhitman in https://github.com/shorepine/tulipcc/pull/396 * Force `MP_SCHEDULER_DEPTH` to be set by copying our own `mpconfigport.h` over `ports/esp32` by @bwhitman in https://github.com/shorepine/tulipcc/pull/405 * debugging 44 key from discord by @bwhitman in https://github.com/shorepine/tulipcc/pull/407 * screensaver by @bwhitman in https://github.com/shorepine/tulipcc/pull/409 * fixes so the tdeck boots again by @bwhitman in https://github.com/shorepine/tulipcc/pull/411 * potential fix for partiallyZen's KB by @bwhitman in https://github.com/shorepine/tulipcc/pull/412 * removing alles buy link, smallening hero image by @bwhitman in https://github.com/shorepine/tulipcc/pull/413 * Ensuring Tulip works with Alles latest by @bwhitman in https://github.com/shorepine/tulipcc/pull/414 * changing tulip volume doc by @bwhitman in https://github.com/shorepine/tulipcc/pull/415 * AMY sequencer in Tulip by @bwhitman in https://github.com/shorepine/tulipcc/pull/416 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-oct-2024...v-nov-2024
## What's Changed * adding portamento AMY (+ fixing a compilation bug for ft5x06 ctps) by @bwhitman in https://github.com/shorepine/tulipcc/pull/346 * Juno portamento by @bwhitman in https://github.com/shorepine/tulipcc/pull/349 * Better midi parser, handles running status. Also support for all notes off by @bwhitman in https://github.com/shorepine/tulipcc/pull/355 * stop parsing USB/IAC midi messagees once parsed by @bwhitman in https://github.com/shorepine/tulipcc/pull/357 * Tulip's AMY has echo by @bwhitman in https://github.com/shorepine/tulipcc/pull/358 * adding learn midi codes directly by @bwhitman in https://github.com/shorepine/tulipcc/pull/369 * midi.py: OscSynth now takes kwargs that it will forward to its oscs. by @dpwe in https://github.com/shorepine/tulipcc/pull/371 * adding required field `patch_number` to SingleOscSynthBase by @bwhitman in https://github.com/shorepine/tulipcc/pull/374 * midi.py, music.md, ..: Add midi.config.get_synth(), rename polyphony by @dpwe in https://github.com/shorepine/tulipcc/pull/382 * adding first version of TabView to allow for tabbed UIScreens by @bwhitman in https://github.com/shorepine/tulipcc/pull/384 * convering the m5_8encoder class to a simpler module to match how the others work by @bwhitman in https://github.com/shorepine/tulipcc/pull/388 * Separately handle MIDI clock f8 signal. by @bwhitman in https://github.com/shorepine/tulipcc/pull/389 * memorypcm.c: Note-off non-retrigger fix, as for amy/src/pcm.c. by @dpwe in https://github.com/shorepine/tulipcc/pull/392 * Hopefully giving the GT911 more room to breathe on boot. by @bwhitman in https://github.com/shorepine/tulipcc/pull/394 * USB hub support, mouse support, latest Micropython and ESP-IDF by @bwhitman in https://github.com/shorepine/tulipcc/pull/400 ## New Contributors * @neilmb made their first contribution in https://github.com/shorepine/tulipcc/pull/372 **Full Changelog**: https://github.com/shorepine/tulipcc/compare/v-sep-2024...v-oct-2024