Skip to content

Releases: YarnSpinnerTool/YarnSpinner-Godot

v0.3.22 - more bug fixes

26 May 03:06
008db59

Choose a tag to compare

[0.3.22] 2026-05-25

  • Fix new DialoguePresenterBase.OnNodeEnter/OnNodeExit not being called (Fix #126)
  • Fix "Custom typewriter doesn't get markup handlers correctly" (Fix #125)

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.21 - Bug fixes

19 May 02:13

Choose a tag to compare

[0.3.21] 2026-05-18

  • Fix invalid **.cs glob breaking incremental builds by @spirifoxy
  • Fix issue #122 where line providers automatically created by the DialogueRunner threw exceptions due to setting the YarnProject after adding to the tree

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.20 - YarnSpinner libraries v3.2.0 , YSLS JSON generation, new Typewriter API

15 May 12:16
bda4613

Choose a tag to compare

[0.3.20] 2026-05-15

  • Upgrade YarnSpinner base libraries to 3.2.0. For details, see https://github.com/YarnSpinnerTool/YarnSpinner/releases/tag/v3.2.0
  • Update the source generator to output .ysls.json files, used to integrate with other YarnSpinner tools like the VS Code extension. Updated diagnostics around command registration are also provided.
    • To disable generation of the YSLS file, add the define symbol . Example in your .csproj file: <DefineConstants>$(DefineConstants);YARN_SOURCE_GENERATION_DISABLE_YSLS</DefineConstants>
    • You can now also disable source generation entirely if desired with the symbol YARN_SOURCE_GENERATION_DISABLE_ALL. This will prevent you from using the [YarnCommand] and [YarnFunction] attributes and require manual command and function registration to each dialogue runner.
  • Work around Godot issue where exported C# variables can reset to their initial value: remove initial value from DialogueRunner.dialoguePresenters
  • Register CustomMarker and BasicMarker as custom types for better editor integration (#119)
  • Fix a bug where theDialogueRunner.onDialogueComplete signal was emitted twice when dialogue ends. (fix #120)
  • Add dialogueRunner.allowOptionFallthrough which allows dialogue to proceed when no dialogue options were chosen https://yarnspinner.dev/blog/yarn-spinner-3-1-release/#dialogue-option-fallthrough
  • ⚠️ Breaking change: The API for returning diagnostics from ReplacementMarkupHandler implementations has changed. Reference PaletteMarkerProcessor for an example of the updates.
  • ⚠️ Breaking change: Add redesigned IAsyncTypewriter functionality for typewriter animations. BasicTypewriter is removed. New types of typewriters are available out of the box: Letter (similar to the prior example BasicTypewriter functionality), Word, and Instant.
  • Dialogue Presenters now have optional OnNodeEnter and OnNodeExit methods that can be overridden to respond to changes in the running node.
  • ⚠️ Breaking change: Remove DialogueViewBase and GDScriptPresenterAdapter, which have been deprecated in favor of DialoguePresenterBase / views implemented directly in GDScript for a while now.
  • LocalizedLine now has a Source property that tells you where the line came from (typically a DialogueRunner instance). https://yarnspinner.dev/blog/yarn-spinner-3-1-release/#lines-know-where-they-came-from
  • Fix #121 - Logic for showCharacterNameInLineView was inaccurate versus its comments

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.12 - GDScript Presenter enhancements, Localization inspector fix

21 Dec 20:21
aed7e7e

Choose a tag to compare

[0.3.12] 2025-12-21

  • Provide typed GDScript classes for LocalizedLine and MarkupParseResult. Additional GDScript support for Presenters #111 and #113 by @KXI-System
  • Fix an issue where a CSV path would be applied to the wrong locale in the YarnProject inspector (#112)

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.11 - Async dialogue start / stop + bug fixes

01 Dec 22:30
140a24e

Choose a tag to compare

[0.3.11] 2025-12-01

  • Port the solution to this issue, making StartDialogue and Stop on the DialogueRunner async methods.
  • Add ChangeDialogue(string nodeName) method to the dialogue runner to allow stopping the dialogue,
  • Since making StartDialogue, Stop, and ChangeDialogue async prevents those methods from being exposed to GDScript, add StartDialogueForget, StopForget, and ChangeDialogueForget to the DialogueRunner to allow these functions to still be used from GDScript
  • Remove default empty values from CustomMarkers and BasicMarkers on MarkupPalette to avoid a Godot bug where exported values are reset.
  • Fix an issue in LinePresenterButtonHandler where the continueButton's Pressed handler was repeatedly re-connected for each line of dialogue.
  • Complete tweens in Effects.cs when dialogue animations are skipped, by @fmoo

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.10 - MarkupPalette Bug Fix

17 Sep 21:12
eb90c26

Choose a tag to compare

[0.3.10] 2025-09-17

  • Improve DialogueRunner initialization by moving it back into _EnterTree, but prevent it from running multiple times.
  • Update sample project to Godot 4.5.
  • Fix an issue where BasicMarkers in a MarkupPalette did not render correctly if they produced more than one BBCode tag (e.g. color, underline, and bold all in one marker).

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.9

13 Sep 21:40

Choose a tag to compare

[0.3.9] 2025-09-13

  • Revert change to DialogueRunner initialization from 0.3.8.

Hotfix for 0.3.8 which had these changes:

[0.3.8] 2025-09-13

  • Add functionality to log any yarn project compilation errors at runtime, to make them more noticeable to users. To turn this off, uncheck Print Project Errors in your Dialogue Runner inspector.
  • Fix the behavior of OptionsPresenter.showUnavailableOptions. With this set to true, unavailable options will now appear and be disabled.
  • Reorder some initialization logic in TextLineProvider and DialogueRunner
  • Clean up some unused code
  • Restore automatically setting VisibleCharactersBehavior to Characters After Shaping in LinePresenter for better typewriter effect integration.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.8

13 Sep 15:40
8938f9f

Choose a tag to compare

[0.3.8] 2025-09-13

  • Add functionality to log any yarn project compilation errors at runtime, to make them more noticeable to users. To turn this off, uncheck Print Project Errors in your Dialogue Runner inspector.
  • Fix the behavior of OptionsPresenter.showUnavailableOptions. With this set to true, unavailable options will now appear and be disabled.
  • Reorder some initialization logic in TextLineProvider and DialogueRunner
  • Clean up some unused code
  • Restore automatically setting VisibleCharactersBehavior to Characters After Shaping in LinePresenter for better typewriter effect integration.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.7 - Markup sample update

20 Aug 22:11
202dc54

Choose a tag to compare

[0.3.7] 2025-08-20

  • Remove unused field YarnProjectEditorUtility.searchAllAssembliesForActions
  • Update Space sample to have a "Return to Samples" button
  • Update Markup sample to demonstrate custom replacement markup and custom action markup (playing a sound and animation) as certain text in a line is revealed.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.6

02 Aug 17:12
d983b16

Choose a tag to compare

[0.3.6] 2025-08-02

  • Improve error messages when button is not assigned on OptionItem
  • Improve error message when the Godot node passed to a yarn command is not of the correct type
  • Update System.Text.Json to 8.0.6
  • Update Google.Protobuf to 3.31.1
  • Update CsvHelper to 12.3.2

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.