Files
KGStudio/CHANGELOG.md
T
GitHub Actions Bot 841575e01f chore(release): 0.15.0-build.20260510
Generated release with automated versioning system.

Release type: minor

Build date: 2026-05-10 00:18:18 UTC

🤖 Generated with automated release workflow
2026-05-10 00:18:18 +00:00

264 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# [0.15.0-build.20260510] (2026-05-10)
* Merge pull request #39 from KGAudioLab/feat/2026-05-09-waveform-recording (0ddb2e5)
* fix: failed tests (4f4511e)
* feat: added track level event list tab; rename `List Event` to `Event List`. (894c3b1)
* feat: added track level list event tab (48a51f1)
* feat: added audio recording feature (490cd19)
# [0.14.0-build.20260509] (2026-05-09)
* Merge pull request #38 from KGAudioLab/feat/2025-05-02-midi-automation (1afe732)
* docs: updated README.md (5148e0d)
* Merge pull request #37 from KGAudioLab/feat/2025-05-02-midi-automation (098d465)
* docs: updated README.md (f38597e)
* fix: when piano roll window is not visible, select a row on list event table will cause current MIDI region lose selection (a1c8727)
* fix: default piano roll window's Y position (37da0f6)
* fix: minor UI adjustments (bd067ca)
* feat: implemented track level automation (31e02b4)
* feat: implemented editable automation lane in piano roll window (6e5d946)
* fix: misc UI updates and fixes (eead27d)
* fix: few minor UI adjustments and fixes (1e33caa)
* feat: added a read-only piano roll automation view (917a1b0)
* feat: added MIDI CC recording and list event table operation support. (f3d2612)
* feat: added support for real time MIDI CC input (CC1, CC2, CC7, CC11 -> velocity; CC64 -> sustain) (6305983)
* fix: round interpolated MIDI values to integers to deduplicate repeated consecutive values (0d9e2a9)
* feat: added pitch bend automation (linear interpolation) (738628f)
* feat: added adding pitch bend feature and delete selected events feature to the list event panel (fc1a044)
* fix: load existing projects will crash the playback or have no sound due to missing pitchBend array in the JSON (6ed1ddd)
* feat: added pitch bend support (98cccf5)
* feat: implemented inline edit for the list event panel (8f453f8)
* feat: added v1 read-only version list event panel (3743f9c)
* fix: error when creating MIDI region first time after the app has started `projectStore.ts:271 Cannot update a component (`Toolbar`) while...` (c2e68e3)
* fix: show loading spinner instead of hanging in open project dialog when user click open button (6928416)
* feat: added a warning pop-up when openning projects. (213a4ee)
* feat: added an option to let user choose the vertical resolution of the spectrogram, also fixed a bug that peak of pitch in the spectrogram has been mapped to the start of the note bin instead of the center (8a6e904)
* feat: honor MIDI input notes' velocity during recording (d089456)
* feat: added merge MIDI regions feature (066946e)
* fix: minor updated the region lasso selection behavior (a2f12ca)
* feat: allow user to use lasso to select multiple regions (f323f1a)
* feat: allow user to bulk resize and move regions (01a3f88)
* feat: allow user to multi-select regions. (6d952b5)
* feat: updated toolbar button style (bc7db71)
* fix: should cut a held looped recording note at the loop end when note off arrives after wrap (c733c39)
* fix: "back to beginning" button should also shift viewport to the beginning of the song (769d70c)
* feat: added a shortcut `E` to open/close piano roll (fc304ac)
* fix: pause button while recording should stop recoding (7a6e755)
* fix: recording preview notes are not taking region position into consideration (9f536d9)
* fix: spectrogram is not taking region position into consideration (0fc4ee2)
* feat: added edit MIDI notes' attribute feature (7b74687)
* fix: minor updated some styles (90aee14)
# [0.13.0-build.20260502] (2026-05-02)
* Merge pull request #36 from KGAudioLab/feat/2026-04-30-midi-device-recording (07ba49d)
* docs: updated README.md (9828c45)
* feat: preserve the viewport position when zooming in and out (f132f6b)
* feat: add cross-component playhead scroll synchronization (da8b949)
* fix: move computing spectrogram text to the center of current viewport of piano roll window (6b8a470)
* fix: piano roll spectrogram is not being zoomed correctly; switching from MIDI region to audio region with piano roll open might cause residual notes. (5890a6d)
* feat: added zoom-in/out feature for piano roll window. (811b3a0)
* feat: added fine tune region position feature (d59ad68)
* fix: random not able to exit piano roll hybrid mode issue when switching between different MIDI regions (introduced a region dragging start threshold) (d5795c5)
* fix: updated the spectrogram icon (cbd2fc6)
* fix: minor UI updates (756fc1b)
* fix: unit test errors and TS type errors (b792630)
* feat: implemented piano roll hybrid mode to allow user edit MIDI notes while observing spectrogram as reference (8303445)
* fix: few misc issues when switching between MIDI region and audio regions (ba0e27e)
* feat: added audio track spectrogram visualization feature (eafb3a4)
* Merge pull request #35 from KGAudioLab/feat/2026-04-30-midi-device-recording (cc0aae4)
* fix: linter errors (cd90dc1)
* feat: add `R` as shortcut of recording button; fixed linter errors. (9be96cd)
* fix: missing count-in when recording with loop mode on (043e90b)
* fix: wwitched the preroll metronome scheduling off `window.setTimeout` and onto Tones audio-context clock (adb2345)
* fix: pre-roll metronome ticks are missing (a474065)
* feat: switch track volume to dB scale with Logic Pro-style fader (−∞dB ~ +12dB) (95ca339)
* feat: added recording MIDI device feature. (77885c8)
# [0.12.0-build.20260430] (2026-04-30)
* Merge pull request #34 from KGAudioLab/feat/2026-04-28-add-remix-and-repaint-support (c54cf3e)
* docs: updated README.md (d7a3bcc)
* feat: added remix and repaint support (f60c7b4)
# [0.11.0-build.20260425] (2026-04-25)
* Merge pull request #33 from KGAudioLab/feat/2026-04-15-kgone-integration (f5d24a8)
* docs: added K.G.One demo to README.md (d0ba246)
* Merge pull request #32 from KGAudioLab/feat/2026-04-15-kgone-integration (799f938)
* docs: updated README.md, added K.G.One Music Studio information (3261356)
* fix: added base url presents for OpenAI Compatible settings (3bce450)
* chore: added two debugger automation utilities (d6001a6)
* fix: extract stems from trimmed audio is using full song (f7f79cd)
* fix: minor updated color palette for some components; updated default region/track names for stem separation. (a71de0c)
* refactor: replace purple accent color with light blue theme and beautify Open Project modal (1e4fdfc)
* feat: add closing animation to all modal dialogs and fix drag-dismiss bug (55861cf)
* fix: added a special treatment for time signature input; fixed text selection in pop-up and release the mouse outside the pop-up will close the pop-up issue. (778c023)
* feat: replace browser built-in alert/confirm/prompt pop-up with new DialogProvider (1828dbb)
* feat: added metronome feature (0ac3906)
* fix: remove hardcoded lm model (f0a2f06)
* fix: removed https support from vite dev server (8308cdf)
* fix: add https support for local vite dev server (7e67ca9)
* fix: minor updates the parameters send to ace-step-1.5 (474b68c)
* fix: adjust UI for `open project` pop up (ebcbe40)
* feat: added "powered by" info to 3rd party powered features (5ca1358)
* fix: default `K.G.One Music Generator` panel to Full Song tab (7d10d37)
* feat: allow kgone-server.json to override the kgone server base url and soundfont base url (71dc7d9)
* fix: honor the soundfont -> baseUrl config (206fa6f)
* fix: undo is resetting the mute and solo track button status (cb4bf59)
* feat: added split region feature (ebcebb5)
* fix: allow user to create audio region by triggering audio upload pop-up (9d91904)
* feat: added auto-center playhead to piano roll window (cb027b6)
* feat: let playhead automatically centered (425aeab)
* fix: linter errors (1d5bb59)
* fix: removed unnecessary override confirmation when user save project with project name unchanged (e3a77e6)
* fix: reserve `Untitled Project` name; rename project will trigger save immidiatly. (24ffaa7)
* fix: long track name displaying issue; wrong separator model name mapping; imported generated full song not adjusting max bars; implemented retry mechanism for K.G.One server calls. (3010cf4)
* feat: implemented drag-n-drop to import KGOne generated audio/MIDI file feature (7b82572)
* feat: integrate K.G.One music generation panel (cadd51c)
# [0.10.0-build.20260411] (2026-04-11)
* Merge pull request #31 from KGAudioLab/feat/2026-04-09-add-wav-track-support (2328ddb)
* doc: updated README.md (eeebf54)
* Merge pull request #30 from KGAudioLab/feat/2026-04-09-add-wav-track-support (c8f84d7)
* fix: missing tool calling info in the exported conversation JSON and MD (d082c9c)
* feat: added bouncing to MP3 feature (d16553e)
* feat: add bounce-to-WAV export with offline rendering via Tone.Offline (d486442)
* feat: add snap-to-grid toggle for track grid regions and playhead (d94b53d)
* feat: add audio region trimming with non-destructive clip offset (1670679)
* doc: updated help.md (39401b3)
* feat: add bar width multiplier (1x8x horizontal zoom) for track grid (139684b)
* feat: enhanced emulated bash terminal (by using browser's input box pop-up loop) (4917e54)
* feat: add Open Project modal with project browser, soft delete, and duplicate (1ff9bfc)
* fix: assigned an image as audio track's instrument-preview background (21a1991)
* fix: missing media files when renaming + saving the project (83f4bfe)
* feat: added `rm` opfs mock bash command (6080acc)
* feat: add audio track support with WAV/MP3 playback and looping (fc84edf)
* Merge pull request #29 from KGAudioLab/feat/2026-04-08-refactor-data-storage (de29791)
* refactor: migrate project storage from IndexedDB to OPFS with folder-based structure (2d3ea33)
* refactor: split monolithic App.css into feature-based co-located CSS files (17610f1)
* refactor: moved "Add track" button from bottom TrackControl to top-left-spacer for better discoverability (58cb4ce)
# [0.9.0-build.20260406] (2026-04-06)
* Merge pull request #28 from KGAudioLab/feat/2026-04-05-refactor-tool-calling (5a863fe)
* feat: added Claude 4.6 model series options. (63ced27)
* feat: added OpenAI SDK with OpenRouter based Claude model support; updated recommended models in README.md (586f0f9)
* feat: added model options for GPT-5.4 families; updated default model to gpt-5.4-mini (6c49fbf)
* fix: rename `start_beat` to `start` and `end_beat` to `end` in 3 tools. (26b7510)
* fix: minor UI enhancements. (ee31ca0)
* refactor: migrate agent system from XML tool calling to OpenAI SDK with native function calling (2cd976f)
# [0.8.0-build.20260123] (2026-01-23)
* Merge pull request #27 from KGAudioLab/feat/2026-01-22-looping (5042477)
* docs: updated README.md (8e8c557)
* feat: implemented playback looping; fixed an linter error in Toolbar.tsx (1c8361d)
* feat: enhanced the note scheduling logic to support loop mode (b767d21)
* feat: added upgradeToV3 upgrader (b46442b)
* feat: added a hotkey for loop button (78b798e)
* feat: implemented change loop setting command (b80e7e8)
* feat: implemented UI of looping feature (f367c84)
* docs: updated welcome_again.md (20310cc)
# [0.7.1-build.20260117] (2026-01-17)
* Merge pull request #26 from KGAudioLab/feat/2026-01-17-add-option-allow-persist-api-key-on-non-localhost (59faeff)
* fix: added a warning comment (609efab)
* docs: updated README.md (8c1ab53)
* feat: add option to persist API keys on non-localhost (opt-in security feature) (e8b79ef)
# [0.7.0-build.20260117] (2026-01-17)
* Merge pull request #25 from KGAudioLab/feat/2025-12-25-more-models (6717cea)
* feat: added latest (as of 2025-12-25) GPT and Claude model support (4f4e60f)
# [0.6.3-build.20251222] (2025-12-22)
* Merge pull request #24 from KGAudioLab/feat/2025-12-19-midi-keyboard-support (ab8c268)
* chore: updated README (3b2b359)
* Merge pull request #23 from KGAudioLab/feat/2025-12-19-midi-keyboard-support (ef08ec9)
* feat: added an option to control playhead animation fps (b44e6fb)
* feat: added playback delay configuration (eaee036)
* feat: added lookAhead option (aadf9e0)
* fix: reduce Tone.js context.lookAhead to reduce MIDI input latency (4b075e8)
* feat: added MIDI keyboard support (d3a2fe1)
# [0.6.2-build.20251218] (2025-12-18)
* Merge pull request #22 from KGAudioLab/feat/2025-12-08-chord-assistant (22c11fd)
* feat: implemented chord guide customization feature (5cceec0)
* feat: merge `mode_list.json` into `functional_chords.json` (610b81e)
# [0.6.1-build.20251216] (2025-12-16)
* Merge pull request #21 from KGAudioLab/feat/2025-12-08-chord-assistant (2fc6e56)
* test: fixed test errors; skip failing integration tests temporarily (46d3a21)
# [0.6.0-build.20251216] (2025-12-16)
* Merge pull request #20 from KGAudioLab/feat/2025-12-08-chord-assistant (03b5796)
* docs: add Intelligent Chord Assistant feature to README (56be444)
* feat: implemented the logic to automatically create a chord when a suitable guide chord is highlighted. (54b227c)
* fix: default chord guide note's length to last edited note's length (fbd13ee)
* feat: added unit tests for scaleUtil.ts (df722ab)
* feat: added highlighted chord guide on piano grid (bdc7fc8)
* feat: added logic to get suitable chords (console log only) (8512fb4)
* feat: map chords base on each mode (fe9eb79)
* feat: added functional chords resource files (2636395)
* feat: persistence selected mode (dcd2d89)
* fix: display the currently selected mode in the mode dropdown (fa201d1)
* feat: add scale highlighting to Piano Roll grid (9e0c0cc)
* feat: added mode list dropdown (98ed8a6)
* feat: added integration tests (02a7a61)
* Merge pull request #19 from KGAudioLab/test/2025-09-03-initial-unit-tests (c5ada0d)
* feat: added unit tests for `timeUtil` and `xmlUtil`. (2dcc763)
* feat: added unit tests for KGMidiRegion and abcNotationUtil; update all deprecated method `plainToClass` to `plainToInstance`. (2bf5328)
* feat: add Vitest unit testing infrastructure with initial test suite. (aa2b199)
# [0.5.4-build.20250830] (2025-08-30)
* Merge pull request #18 from KGAudioLab/feat/2025-08-29-new-instruments (3f087e2)
* feat: added 28 new instruments. (3dae319)
# [0.5.3-build.20250829] (2025-08-29)
* Merge pull request #17 from KGAudioLab/fix/2025-08-24-misc (d5dbe90)
* fix: manually cleaned up the initial changelog. (d601bd1)
# [0.5.2-build.20250829] (2025-08-29)
* Merge pull request #16 from KGAudioLab/fix/2025-08-24-misc (8eeec39)
* fix: use correct token in `release` action. (f93626d)
# [0.5.1-build.20250829] (2025-08-29)
* Merge pull request #15 from KGAudioLab/fix/2025-08-24-misc (58ba8e9)
* fix: use correct token in `release` action. (9230b0f)
* Merge pull request #14 from KGAudioLab/fix/2025-08-24-misc (72994b5)
* feat: implement automated versioning. (0eac494)
* fix: reset mute/solo UI states on project/track changes (62b3a8c)
* fix: preserve overlapping notes with same end time in ABC conversion (1fd1486)
* feat: implemented select all notes feature. (6445325)
* Merge pull request #13 from KGAudioLab/feat/2025-08-24-claude-support (131b99a)
* implemented Claude caching breakpoints (OpenRouter version). (b0e589d)
* implemented `ClaudeOpenRouterProvider`. (efb161d)
* added a configuration option for Claude through OpenRouter. (81c6aeb)
* Merge pull request #12 from KGAudioLab/fix/2025-08-16-misc (cd671ea)
* added `Disclaimer` section to README. (efee261)
* Merge pull request #11 from KGAudioLab/fix/2025-08-16-misc (48c9337)
* minor README update. (bc01d42)
* Merge pull request #10 from KGAudioLab/fix/2025-08-16-misc (9b095e1)
* minor README updates. (042366d)
* Merge pull request #9 from KGAudioLab/fix/2025-08-16-misc (7b4b825)
* minor README update. (719a184)
* Merge pull request #8 from KGAudioLab/fix/2025-08-16-misc (7ac14b3)
* rewrote `welcome_new` article; updated readme file; introduced `/help` command. (f2355b2)
* added export conversation feature. (0c54332)
* added an option to fix the "Zoom can't capture the sound" problem (it is IMPORTANT to choose "share sound" when share screen in Zoom). (c1112f4)
* added overview document. (365acda)
* optimized ChatBox component. (8b0ddae)
* cleaned up the LLM providers. (429efaf)
* removed native tool_calls handling from `OpenAIProvider`. (cf4f3ed)