Changelog
ATTENTION!! BREAKING CHANGES:
- Please do a full backup your projects before updating.
- If you are in a version of Drafft older than v2.3.0 unlock all documents before updating.
v2.4.6 - 2026-03-21
- feat: Add canvas editor wip.
- fix: Support macOS command key for undo functionality in DialogueEditor
v2.4.5 - 2026-03-13
- feat: Choice port labels in dialogue player now support
${variables...}interpolation for dynamic choice text. (thanks @Reverend) - feat: Variables Inspector visibility toggle (show all vs. overridden only) now persists globally across all instances.
- feat: Multi-step variable interpolation autocomplete in script editor — type
${to see available collections, then select a collection (e.g.,variables), then a document (e.g.,player), then the variable path (e.g.,mood). Supports aliases (${v.for variables,${i.for items, etc.). - feat: Dialogue node editor now supports variable autocomplete for output port
@setdirectives and Condition/Switch expressions, including multi-step collection → document → path suggestions. - feat: Added a new Error Log tab in Help with a local support log you can copy on demand.
- feat: Error page now includes a collapsible "Collect Support Log" section with opt-in copy-to-clipboard support diagnostics. (thanks @Ira)
- feat: App now force-exits after 10 failed close attempts, preventing hangs when the close dialog is unresponsive.
- fix: Dialogue editor no longer shows modified indicator while dragging nodes; only persists changes when drag completes.
- fix: Attempt to reduce Kanban board horizontal scroll stutter when click-dragging and moving the pointer outside the board area. (thanks @MrFrips)
- fix: Dialogue node Out ports not right aligned.
- fix: Variables Inspector now updates immediately after deleting Variable documents (thanks @Fauron)
- fix: Script editor now refreshes immediately after using Generate Tags, so new tags appear without needing to save or reload.
v2.4.4 - 2026-03-04
- feat: Scenes: allow chaining multiple scripts and dialogues into sequential playlists with drag-and-drop reordering, playback controls, and export support. (thanks @Ira!)
- feat: Export defaults now include Variables, Scenarios, and Scenes by default for new projects, aligning with LocalProjectSettings configuration.
- feat: API documentation updated to include Variables, Scenarios, and Scenes in accepted collection values with detailed descriptions.
- feat: Expanded Scene documentation with item structure details, drag-and-drop reordering, playback controls, export information, and integration with Variables/Scenarios.
v2.4.3 - 2026-02-28
- fix: Fix license verification error in v2.4.2 that caused some users unable to validate their license and use the app.
- fix: Script preview in document picker no longer gets stuck showing stale content when navigating between items.
v2.4.2 - 2026-02-26
- feat: Tab drag-and-drop reordering. Drag tabs horizontally to reorganize their order in both main and subtab contexts.
- feat: App close confirmation flow with unsaved changes detection. Shows confirmation modal when closing/quitting Drafft. (thanks @CriminallyVulgar)
- feat: Warn when closing a main tab with unsaved subtabs, with option to save all subtabs in one action.
- fix: Script editor subtab content handling and buffer preservation. Edits in subtabs now persist correctly across unmount/remount cycles, modified status stays accurate, and opening a main tab syncs from existing subtab changes.
- fix: Context menu race condition on rapid right-clicks. Stale doc fetches are now properly cancelled before new ones start, preventing lock status from showing incorrect values during replication.
- fix: Attempt to fix license corruption scenarios
v2.4.1 - 2026-02-23
- feat: Condition and Switch nodes for dialogue branching based on UAF expressions. Read the docs
- feat: Script support on Condition and Switch nodes with automatic @set execution.
- feat: Navigation direction tracking (forward/backward) to control auto-advance behavior in dialogue player.
- fix: Smart auto-advance in dialogue player: scriptless condition/switch nodes auto-traverse when Game Simulation is ON, but manual backward navigation enables free exploration.
- fix: Warn when scenario diff entries are ignored due to invalid schema.
- fix: Execute output port scripts when auto-advancing from the last line in dialogue player.
- fix: Limit end/jump/return node outputs to 1.
- fix: Limit start node inputs to 1.
- fix: Compound assignment operators (+=, -=, *=, /=, ^=) in output port scripts now correctly read and modify Live Scenario values. (thanks @Ira!)
v2.4.0 - 2026-02-21
This release focuses on adding new features to the app, while maintaining the stability improvements from the previous releases.
Be sure to read the docs for on UAF Scripting Syntax and State and Simulation Lifecycle
- feat: Variables and Scenarios.
- feat: @set command to set Variables in scripts.
- feat: @if/@else/@endif commands to create branching logic in scripts based on Variables.
- feat: Add output port scripts (@set) in node editor
- feat: Collapsible sidebar sections. (thanks @dgtlfxr!)
- feat: New order for sidebar sections.(thanks @dgtlfxr!)
- feat: Document column type in Grids to link to other documents in spreadsheet cells.
- feat: Rudimentary landing page for user info.
- feat: Virtual roots to open some non-db documents in the tab context. In the future this some setting will be updated to use this.(no more hiding tabs on project settings)
- feat: Game simulation in dialogue player only showing speech lines and skipping control flow lines, to better test the dialogue flow and content without having to worry about the branching logic.
- feat: New sample project with all the new features and a more complete example of how to use the app.
- feat: Kanban cards now have collapsible descriptions.
- fix: (Grid): update dropdown item/toolbar hover styles.
- fix: Subtabs in dialogue editor not initializing properly when "Remeber open tabs" setting is enabled.
- fix: Jump and return node not jumping to the target node. (thanks @Ira!)
- fix: Better responsive style for project dashboard.
- fix: Case insensitive email check for license activation.
- fix: Exporting Actor bio Export (PDF/HTML/DOCX) now works.(thanks @Rajka_Apple!)
- fix: Default actor expression not being created on first launch.
- fix: Copy/Paste context menu not working in grids.
- fix: Dialogue player not working with backwards navigation.
- fix: Prevent copy doc dialogue when nothing is selected on the tree.
- fix: Prevent copy menu button if no tree Item is selected.
- fix: Prevent flickering when changing actor in the a script player portrait area.
v2.3.3 - 2025-12-19
- feat: Add a dashboard for project stats and as a "landing page" for each document collection.
- feat: Add modifiedBy and createdBy to documents.
- feat: Add Unlock All button in the "My Locked Documents" dashboard section. (thanks @Rajka_Apple)
- fix: Changing subtabs in an actor would sometimes lose the current tab unsaved content.
- fix: Actor expressions delete bug.
- fix: Actor changes works with the "modified" buffer now.
- fix: Deleting an actor expression no longer deletes the related image.
- fix: Fix content being outdated when restoring a tab on launch.
- fix: Fix toolbar buttons for file/folder creation not showing tooltip and cursor pointer.
- fix: remove lockedBy from when unlocking a document.
v2.3.2 - 2025-12-14
- feat: Autofocus node label input when opening node edit drawer. (thanks dgtlfxr)
- feat: Detect and warn user about importing Drafft 1.x databases.
- feat: Add wrap text button to spreadsheet toolbar.
- fix: Fix screenplay crashing when actor speech was empty. (thanks @Rajka_Apple)
- fix: Fix export mapping for corrupted lines.
- fix: Do not crash export/mappings/screenplay if we have corrupted lines. Ignore them instead and continue.
- fix: Safety check for legacy/missing tree items
v2.3.1 - 2025-12-08
- feat: Dialogue Editor - Drag a connection from an existing node to an empty space to create a new node connected to the source node. (thanks dgtlfxr)
- feat: Dialogue Editor -Double click on a node title to open node properties drawer (thanks dgtlfxr)
- feat: Enter/Escape support for delete document modal. (thanks MrFrips)
- feat: Enter/Escape support for delete document modal. (thanks MrFrips)
- feat: Shortcuts for delete document (CTRL+F2). (thanks MrFrips)
- feat: Preserve Tab State app setting. When enabled, the open tabs for each project will be saved and restored on next launch. (thanksMrFrips)
- fix: Delete document modal not closing when clicking on the overlay. (thanks orels1)
- fix: Fix for some default settings not being applied on first launch.
- fix: Keep aspect ratio for actor images in script player.
v2.3.0 - 2025-11-18
BREAKING CHANGES: Please only update to this version after unlocking ALL of the documents. The user identification method has changed, and will affect the ability to unlock documents created by previous versions of Drafft. If too late, please go back to the previous version and unlock all documents before updating.
- feat: UserID is now stored in the database, and is used to identify the user in the app, ensuring uniqueness in remote databases, and its based on the user license information.
- fix: lower the minimum width of the sidebar before it collapses to 512px. (thanks @Maez)
- fix: Disable creation of folders and documents in attachments collection (to be addressed in future updates)
- fix: Fix Undo modal cancel button not working.
- fix: Renamed remote documents not updating tree in real time.
- fix: Deleted remote documents not updating tree in real time.
v2.2.2 - 2025-10-24
- feat: Show star icon on tree items if added to favorite (thanks: @Theta)
- feat: Add favorite picker:
Ctrl+Oto show all favorites,Ctrl+Shift+Oto show only favorites of the current collection. Favorites section to be removed in future updates. (thanks: @Theta) - feat:
Ctrl+Shift+Pnow opens the document picker for the current collection only. - feat:
Ctrl+Shift+Lnow open the related document picker for gdds and scripts (old ctrl+shift+p). - fix: Disable drag and drop preview on folders.
- fix: Disable drag and drop preview on tree items at the same folder level. (thanks: @Theta)
- fix: Context menu Item for adding favorite on tree. (thanks: @Theta)
v2.2.1 - 2025-10-06
Potential breaking changes, please backup your projects before updating.
- feat: Add kanban Horizontal scroll (thanks: MrFrips)
- fix: Fix extremely long installation times on Windows 11.
- chore: Update dependencies
- chore: Normalize imports for better multiplatform development/testing.
v2.1.14 - 2025-09-07
- feat: Add tab preview feature: By default tabs are not pinned and every time you open a new tab, it will replace the previous one. If the document is edited or the user double clicks on the tab title, the tab will be pinned and new tabs will open next to it, very similar to the VSCode tab behaviour. Thanks @Sin
- feat: Add options to enable/disable tab preview feature.
- feat: Add context menu to tabs: Close, Close Others, Close to the Right, Close All, Keep Open, Close Locked, Close Unlocked, Add to Favorites. Thanks @Sin
- fix: Subtabs (dialogue scripts) are now closed with a confirmation modal if there are unsaved changes.
- fix: SubTabs (dialogue scripts) now show the color of the icon representing the locked status.
v2.1.13 - 2025-08-03
- feat: creating a new document will now open a new tab and select it in the tree.
- fix: Fix tab trying to unlock deleted document if "auto unlock items on selection change" is enabled. (Thanks @dEEdEE)
- fix: Fix bug when adding new documents, the second time it would mess the parent document, due to the fact that the selected Item was being revalidated to the active tab document. (Thanks @dEEdEE)
- fix: Fix API connection error. (Thanks Bryan)
- fix: Fix API server not running if remote replication is set to true but remote server is unreachable. (Thanks Bryan again!!)
- feat: Add API endpoint
/infoget current project settings and user info.
v2.1.12 - 2025-06-26
- feat: Added metadata to dialogue nodes. (Thanks @CA)
- feat: Added related documents to dialogue nodes.
- feat: Added support for front-matter in dialogue nodes and hide it in the node body.
- feat: deterministic random color generation for custom (in place) kanban card tags.
- feat: wider node edit drawer.
- feat: Update quick export path handling to be a per-project setting (Thanks @CA)
- fix: Fix custom kanban card tags not showing up in the kanban board.
v2.1.11 - 2025-06-25
- feat: show preview of non speech lines in script/dialogue player.
- feat: add syntax highlighting to script/dialogue player.
v2.1.10 - 2025-06-25
- fix: project manager: prevent mutation of default values causing dbName bugs.(Thanks @ether)
v2.1.9 - 2025-06-21
-
fix: Resolved an issue where Dialogue node handles were being created with duplicate IDs, which caused issues in the dialogue player and traversal logic. React Flow renders these fine (since it scopes handle IDs by node), but runtime logic that relies on global uniqueness of handle IDs may break. Thanks to @CA for the detailed report and repro!
⚠️ Impact: This fix may affect existing implementations that assume all handle IDs are unique. While rendering remains unaffected, dialogue logic depending solely on
handle.idmay misbehave.💡 Recommendation (for users writing their own implementation systems using the exported JSON):
If you're using handle IDs in your own game logic, I strongly suggest resolving connections using both the node ID and the handle ID. For example, prefer a lookup based on
(node.id + handle.id)or use a neighbor traversal pattern that scopes edges per node — similar to thegetNeighborNodes()helper used internally.🔧 A fallback workaround is in place, and a migration script will be available in the near future.
-
fix: Fix dialogue player tooltip showing wrong text. (thanks @CA)
v2.1.8 - 2025-06-13
- fix: Update spellchecker functionality for GDDs and Actors in the editor (thanks @a55b0t)
v2.1.7 - 2025-06-03
- feat: truncate tree item names to fit in the tree. (thanks @Sin!)
- feat: colors to tree items icons, tabs icons and picker icons: Primary color if locked by current user, gray color if locked by another user. (feedback appreciated)
- fix: Rename open tab (if any) to new name when renaming a document.
v2.1.6 - 2025-06-01
- fix: Table rows/columns can't be edited in full screen mode. (thanks @Sin)
- fix: Fix Dialogue Folders not being removable/clonable.
v2.1.5 - 2025-05-25
- fix: Add missing shortcut for show all commands. (thanks @Sin)
- fix: Fix UAF highlight regex to support special characters. (!@#$%^&*+_,;?') (thanks @Sin)
- fix: Support for special characters in command/speech export mapping. (!@#$%^&*+_,;?')
- fix: Command/Speech Export Mapping bug with v2 script schema change.
v2.1.4 - 2025-05-17
- feat: Add Max Exports setting for auto export backups. This will allow you to set how many backups to keep in the auto export folder.(thanks @Maez)
- feat: Add enter/escape support for all doc creation modals (thanks @MrFrips)
- feat: Add shortcut key for quick export game content (CTRL+F8) and export game content (CTRL+SHIFT+F8)
- fix: Context menu actions crashing when adding children to a folder. (Thanks @Maez)
- fix: missing action constraints on icon menu and context menu.
- fix: Numpad enter not working on file/folder creation modal.
- fix: Recent docs now appear in the correct order in the document picker.
v2.1.3 - 2025-05-15
- fix: Fix EULA modal not able to scroll.
v2.1.0 - 2025-05-12
- feat: Add kanban boards.
- feat: Kanban boards and cards templates can be created and edited in project settings.
- feat: Add "Autodetect Actors" option to the actor module and to each individual script. (thanks @ze)
- feat: add migration functionality for kanban boards on project load (v2 projectsonly).
- feat: Do not remove document action icons on toolbar, disable them instead
- fix: improve error logging and display debug information on error page
- fix: Delete document with context menu attempted to delete the doc twice resulting in a Error message. (thanks @Gann)
- fix: DocPicker not showing recent documents if a recent document was deleted.
v2.0.25 - 2025-04-06
- fix: Fix collections only showing the first 25 items if no remote database is used.,
- fix: Fix crash when opening a collection after selecting the special dialogue folder.
v2.0.24 - 2025-04-05
- feat: Add Grid preview in doc picker.
- fix: Fix crash when opening doc picker with undefined items in the tab history.
v2.0.23 - 2025-04-05
- fix: Migrate dbName to localProjectSettings if not found (thanks @fabio again!)
v2.0.21 - 2025-04-04
- feat: Introduce "LocalProjectSettings" to store user settings that are not stored in the database. This is to avoid conflicts with remote sync scenarios and avoid storing sensitive information like passwords. these settings include: dbName, remoteDbEnabled, remoteDbUrl, remoteDbName, remoteDbUsername, remoteDbPassword, remoteDbSyncInterval, autoUnlockItemsOnSelectionChange, exportSections
- feat: Remote sync can target any database name, not necessarily the one used in local project settings.
- feat: Implement auto unlock items on selection change.
- fix: Remote sync legacy issues (thanks @fabio for testing!).
- chore: Remove unnecessary gdd editor settings.
v2.0.19 - 2025-04-03
- feat: Rudimentary tree pane resizing. In the future it will be possible to hide it and drag it via the whole edge, plus it should save its width for the next time it opens.
- feat: Middle click on a tab to close it (thanks @MrFrips).
- fix: Inserting image in gdd cause cursor to jump to the end of the document.
- fix: Inserting an image in a gdd table cell did not trigger an change.
- fix: Gdd table buttons stylings.
- fix: Scripts in the special dialogues folder can now be renamed/deleted/moved without issues.
v2.0.18 - 2025-04-01
- feat: Add Quests editor.
- feat: Add new content to the sample project.
- feat: Add word wrap option for items/quests.
- fix: Window asking to delete appears in another window
- fix: Better error handling when unable to parse items/quests.
- fix: Change Item icon to sword.
v2.0.17 - 2025-03-30
- feat: Add Items editor.
- feat: Add YAML support for quests, items and misc.
- fix: remove unnecessary test button from status bar.
- fix: exporting parsing of TOML and HJSON.
v2.0.16 - 2025-03-29
- feat: Grid editor: Promote first row to headers.
- feat: Compressed navigation links.
- feat: Add a default actor expression (and its attachment) when creating a new project or when creating a new actor.
- feat: Add a default Narrator actor when creating a new project.
v2.0.15 - 2025-03-19
- feat: Add grid editor. See docs for more info.
- feat: Implement context menu for tree items
- fix: Crash when deleting object with a tab open.
- fix: Actor expression not supporting undo
- fix: Crash when unlocking unsaved dialogue.
- fix: Can't rename dialogue folders.
- Known Bug: Crash when deleting a dialogue folder with children.
v2.0.14 - 2025-03-16
- feat: Add GDD export to Docx, PDF and HTML (thanks @ether).
- feat: Export buttons and fullscreen mode also work on read only GDD.
- feat: Add metadata for game export: drafftVersion, exportedAt, exportedBy. available under
_metaproperty. (thanks @bryan) - fix: Infopanel - enable restore revision only on locked document.
v2.0.13 - 2025-03-13
- feat: Add the per-node contextual menu (Edit / Duplicate / Delete, the three vertical dots menu) to the floating Dialogue menu (the one with zoom in, zoom out, fit to view, etc.) as the hover icons were difficult to see when zoomed out. (thanks @ether)
- feat: Changed attachment icon in tree. (thanks @jenna)
- feat: Hardened Electron/Node security and context isolation.
- feat: Dialogue toolbar orientation follows layout orientation changes.
- feat: Dialogue Editor: Center view, and Center view on node. (thanks @matteo)
- fix: License undefined after first time in Linux AppImage.
- fix: Error when uploading expression images.
- fix: Do now show node context menu if dialogue not locket by user.
v2.0.12 - 2025-03-12
- Replace sharp with jimp as it was giving to many multiplatform issues
- roll back to asar
- users should be able to have V1 and V2 installed on the same system, with different project databases.
v2.0.11 - 2025-03-11
- Add a button to check latest version in "Options"
- Fix dialogue play button tooltip.
- Attempt to fix missing sharp dependencies on linux
- Attempt to fix conflictive app name on Windows. This might trigger a new license activation: you can deactivate license prior to upgrade or delete stale activations via https://app.lemonsqueezy.com/my-orders
v2.0.10 - 2025-03-10
Change product name to Drafft 2 to allow both versions to be installed at the same time on windows.
v2.0.0 - 2025-03-01
This release focuses on stability and quality-of-life (QoL) improvements, making the app easier to maintain. While the core functionality remains largely unchanged, I added several new features to enhance the experience. Here’s what’s new:
General
Tabs
Previously, you could only edit one document at a time. Now, multi-tab editing is here! Open multiple documents in tabs for faster workflows. There is also a “Diff” feature, allowing you to preview and undo changes before saving. Tabs can be manually saved or rolled back, similar to VSCode’s behavior.
Pick Anything
- The Picker: A powerful tool for searching, picking, and linking documents or assets. For example, in a GDD document, you can insert a link to a script or image, and clicking the link will open it in a new tab.
- Navigation: Press
Ctrl+Pto search for any document by name, collection, or ID. Drafft also supports custom protocol URLs likedrafft://gdd/unique-id-of-the-document, making it easy to share or link documents. - Command Picker: Press
Ctrl+Shift+:to search for and run commands instantly, like unlocking a document or loading a project. - Favorites: Mark documents as favorites for quick access.
Document Info, Revisions and Individual JSON Download
- A new document info panel is available, which shows useful information about a document as well as its revision history.
- Thanks to PouchDB/CouchDB, Drafft now supports document revision history. Track changes, restore previous versions , and never lose progress again.
- The whole document JSON (or any of its revisions, up to 15) can be downloaded from this info panel.
Media Library
Image and attachment support used to be… rudimentary. Images were serialized as base64 strings, bloating the document content. With PouchDB’s attachment support, we’ve built a proper media library that lets you reuse assets across documents without duplication.
Misc
- All documents content now lives under the
contentproperty, enabling sub-objects likecontent.text,content.bio, andcontent.properties. - Project manager now shows reads all databases from storage and shows actual project metadata.
- A sample project can now be downloaded from the project manager, for quickly trying out things.
- The app now remembers the user’s zoom factor and sidebar status.
- The app now makes an automatic backup of the project once it’s open (up to 10 versions).