Skip to content

Releases: PixeroJan/obsidian-storyline

1.10.62

Choose a tag to compare

@github-actions github-actions released this 19 Aug 08:55

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.62

Improvements

  • Automatic quotation marks — Added an option to automatically replace typed double quotes with the selected quote style.
  • Reorganized settings — Related settings are now grouped and ordered to make them easier to find.

Bug Fixes

  • Empty book folders are removed after creating a series — The original book folder is now checked and removed after its contents have been moved into the new series folder, while non-empty folders are preserved.

1.10.61

Choose a tag to compare

@github-actions github-actions released this 18 Aug 17:15

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.61

Bug Fixes

  • Dialogue counting no longer treats apostrophes as quotation marks — Apostrophes inside words, such as don't, James's, and their curly equivalent, are ignored when counting dialogue. Genuine single-quote dialogue remains supported.

1.10.60

Choose a tag to compare

@github-actions github-actions released this 17 Aug 08:42

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.60

New Features

  • Custom Character Roles — The Character Role field now provides a built-in role dropdown with a final Custom role... option for entering one or more custom roles.
  • Directional relationships — Character relation rows now include a checked-by-default Two-way relationship checkbox. One-way relations do not create reciprocal entries and are shown with arrows in the Relationship Map and Story Graph.
  • Relationship history — Character profiles can record repeated relationship periods in a separate history section. Each period supports a role, target, two-way setting, scene range, or date/time range. Scene endpoints use ordered scene dropdowns with a Custom scene... fallback.

Documentation

  • Character relationships and history — Help now documents two-way and one-way relations, directional graph arrows, repeated relationship periods, scene/date anchors, custom scenes, and custom Character Roles.
  • Help PDF export — The Help view now has a PDF button that creates an A4-formatted PDF in the vault root. The PDF includes the current StoryLine version and generation date so users can identify outdated copies.

1.10.59

Choose a tag to compare

@github-actions github-actions released this 16 Aug 10:45

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.59

Bug Fixes

  • Dialogue statistics support all configured quotation styles (#254) — Made dialogue counting use only the selected quotation pair, preventing narration from being counted as dialogue when multiple quote conventions appear in a manuscript.
  • Custom Codex categories persist across books in a series (#253) — Series books now share their custom category definitions and enabled category list, while unrelated projects retain separate settings.

1.10.58

Choose a tag to compare

@github-actions github-actions released this 12 Aug 09:08

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.58

New Features

  • Scene and chapter range exports (#251) — The Export dialog can now export selected scene sequence numbers or chapter numbers using comma-separated single values and inclusive ranges, such as 1-5, 8, 9, 11, 13-18 or 1-4, 6, 8. The selection applies across Markdown, Word, PDF, HTML, CSV, and JSON exports, with invalid input rejected before export.
  • Default status order in Kanban (#252) — Kanban columns grouped by Status now follow StoryLine's built-in progression (Idea, Outlined, Draft, Written, Revised, Final) followed by custom statuses, instead of alphabetical order.

1.10.57

Choose a tag to compare

@github-actions github-actions released this 11 Aug 11:01

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.57

Bug Fixes

  • Release builds and LocationView lint cleanups — Fixed the manual release workflow's BOM-sensitive versions.json parsing and removed an accidental location render call that caused unsafe-value warnings during linting.

Version 1.10.56

New Features

  • Stable book and series identities — New projects receive UUID-based book identities, while series metadata now supports stable UUIDs and ordered book IDs alongside the existing folder-name fields. Existing projects and series are upgraded automatically without breaking legacy metadata or links.
  • Quotation mark styles — Added configurable quotation mark styles for dialogue input and dialogue statistics, including straight quotes, curly quotes, guillemets, and corner brackets.
  • Manual Codex sorting — Characters and locations can be manually ordered with persistent drag-and-drop sorting. Location hierarchy and reparenting remain supported.

Bug Fixes

  • Legacy series membership recovery — Older books nested inside a series folder are recovered from a validated series.json bookOrder entry even when their frontmatter lacks a series identifier.
  • Book renames no longer move files — Renaming a book changes its display title only; its folder, filename, and existing links remain unchanged.
  • Series display-name renames are non-destructive — Renaming a series updates its metadata name without renaming the folder or cascading changes through its books.
  • Location hierarchy duplicates — Locations with unresolved or legacy parent references no longer render as duplicate roots or orphan entries.
  • Scene notes refresh correctly — Scene note folders are created when needed, and open StoryLine views refresh after notes are written.

1.10.56

Choose a tag to compare

@github-actions github-actions released this 11 Aug 10:44

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.56

New Features

  • Stable book and series identities — New projects receive UUID-based book identities, while series metadata now supports stable UUIDs and ordered book IDs alongside the existing folder-name fields. Existing projects and series are upgraded automatically without breaking legacy metadata or links.
  • Quotation mark styles — Added configurable quotation mark styles for dialogue input and dialogue statistics, including straight quotes, curly quotes, guillemets, and corner brackets.
  • Manual Codex sorting — Characters and locations can be manually ordered with persistent drag-and-drop sorting. Location hierarchy and reparenting remain supported.

Bug Fixes

  • Legacy series membership recovery — Older books nested inside a series folder are recovered from a validated series.json bookOrder entry even when their frontmatter lacks a series identifier.
  • Book renames no longer move files — Renaming a book changes its display title only; its folder, filename, and existing links remain unchanged.
  • Series display-name renames are non-destructive — Renaming a series updates its metadata name without renaming the folder or cascading changes through its books.
  • Location hierarchy duplicates — Locations with unresolved or legacy parent references no longer render as duplicate roots or orphan entries.
  • Scene notes refresh correctly — Scene note folders are created when needed, and open StoryLine views refresh after notes are written.

1.10.55

Choose a tag to compare

@PixeroJan PixeroJan released this 02 Aug 07:37

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.55

Bug Fixes

  • Build output now matches the released main.js artifact — The committed package-lock.json was pinned to 1.10.42 while package.json had advanced to 1.10.54, so the Obsidian community scanner's clean-room rebuild (via npm ci) resolved a different dependency tree than the one used to build the uploaded main.js, producing a byte-different artifact and triggering the "Build output does not match" warning. The lockfile is now regenerated from the current package.json so npm ci reproduces the exact release build. Affects package-lock.json.

Version 1.10.54

Bug Fixes

  • System JSON writes no longer trigger a recurring autosave loop (#242) — After StoryLine wrote its project System/*.json files, those writes emitted new vault modify events that re-armed scheduleWritingStatsSave(), rewriting the four System JSON files roughly every 60 seconds while Obsidian sat idle. The vault modify handler now skips files under the active project's System/ folder before scheduling a writing-stats save, so the plugin's own writes can't feed back into the timer. writeSystemJson() additionally compares the serialized JSON with the existing file contents and skips the write when they're identical, so the 5-minute safety-net interval (from #238) no longer rewrites unchanged files. Affects main.ts.

  • Character count setting now applies to the Manuscript view (#240) — With the "Default project language" set to a CJK locale and "Count unit for scene lengths" set to Characters, the Manuscript view footer still calculated and displayed words. The footer (both the initial render and the live updateFooter refresh) now honours settings.countUnit, summing charcount and labelling the result chars when the unit is chars — consistent with the Board, Timeline, and Stats views. Affects views/ManuscriptView.ts.

  • Em dash () no longer counted as a word (#243)tokenizeWords split on whitespace and kept every non-empty token, so a standalone em dash (commonly used to mark dialogue) was counted as a word, inflating scene word counts relative to Obsidian's native counter. Tokens now must contain at least one letter or digit (/\p{L}|\p{N}/u), matching Obsidian's behaviour. This affected every view and the persisted frontmatter word count, not just the Manuscript view. Affects utils/locale.ts.

1.10.54

Choose a tag to compare

@PixeroJan PixeroJan released this 02 Aug 07:25

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.54

Bug Fixes

  • System JSON writes no longer trigger a recurring autosave loop (#242) — After StoryLine wrote its project System/*.json files, those writes emitted new vault modify events that re-armed scheduleWritingStatsSave(), rewriting the four System JSON files roughly every 60 seconds while Obsidian sat idle. The vault modify handler now skips files under the active project's System/ folder before scheduling a writing-stats save, so the plugin's own writes can't feed back into the timer. writeSystemJson() additionally compares the serialized JSON with the existing file contents and skips the write when they're identical, so the 5-minute safety-net interval (from #238) no longer rewrites unchanged files. Affects main.ts.

  • Character count setting now applies to the Manuscript view (#240) — With the "Default project language" set to a CJK locale and "Count unit for scene lengths" set to Characters, the Manuscript view footer still calculated and displayed words. The footer (both the initial render and the live updateFooter refresh) now honours settings.countUnit, summing charcount and labelling the result chars when the unit is chars — consistent with the Board, Timeline, and Stats views. Affects views/ManuscriptView.ts.

  • Em dash () no longer counted as a word (#243)tokenizeWords split on whitespace and kept every non-empty token, so a standalone em dash (commonly used to mark dialogue) was counted as a word, inflating scene word counts relative to Obsidian's native counter. Tokens now must contain at least one letter or digit (/\p{L}|\p{N}/u), matching Obsidian's behaviour. This affected every view and the persisted frontmatter word count, not just the Manuscript view. Affects utils/locale.ts.

1.10.53

Choose a tag to compare

@PixeroJan PixeroJan released this 26 Jul 14:28

StoryLine — Changelog

Support StoryLine

If StoryLine helps your writing, please consider buying me a coffee. Donations keep the plugin actively maintained.

Donate with PayPal

Version 1.10.53

Bug Fixes

  • Duplicate Prologue / Epilogue columns in Kanban (#239) — When a project had act 0 (Prologue) or act 99 (Epilogue) in its defined acts — which happens as soon as any scene stores its act as the number 0 or 99, or the project's definedActs array contains them — the Kanban board rendered two separate columns for each: an empty Act 0 / Act 99 column (created from definedActs) and the real Prologue / Epilogue column holding the scenes (created from getActDisplayLabel). Numbered acts (1–98) were unaffected because both code paths produced the same Act N key. The empty-column key is now built with getActDisplayLabel so Prologue/Epilogue merge with their scene column instead of spawning a parallel Act 0 / Act 99 column. Affects services/SceneQueryService.ts.