Repository navigation
Releases
1.1.1
1.1.0
Longform Extended 1.1.0
Everything merged since 1.0.1.
Highlights
The Status tab is gone, replaced by an Overview block
The daily goal bar and the project actions now sit in an always-visible block above the Notes / Project / Compile tabs, so you no longer switch tabs to see your goal or regenerate files. Five actions: Compile, Refresh, Timeline, Kanban, Subplot grid. Compile runs the project's selected workflow. Refresh regenerates every enabled generated file.
The buttons never shrink below a square. When the pane is narrow they wrap onto balanced rows — an odd count puts the extra button on the first row.
Autocompile
New per-project setting: Autocompile Minutes. Leave it empty or 0 and nothing runs. Set a positive number and, every that many minutes, the plugin compiles with the project's selected workflow and regenerates the timeline, kanban, and subplot grid — the same work as the Compile and Refresh buttons.
- The first run happens after the first interval, not at startup
- A missing or invalid workflow skips the compile but the refresh still runs
- Background compiles never open or focus the compiled file, even when the step has "Open Compiled Manuscript" checked
- One timer per project, rescheduled when the setting changes, cleared on unload
One status property instead of two
The board used to write a second, plugin-managed property alongside status. It is gone. The board now groups directly by note.status, which also means dragging a card writes that property in one step.
Unrecognised statuses now show in a column
A status that matches no configured column used to disappear. It is now rewritten in the note to Incorrectly Assigned, which becomes an extra column. The original value is not kept anywhere — once rewritten, correct the status by setting it again or dragging the card into a real column.
Show notes with no status works again
With the option on, notes without a status appear in Bases' own None column. Previously they were filtered out by the board's group whitelist.
New notes arrive with their defaults
When kanban is enabled, new scenes and subplots get status set to the first configured column. When the timeline is enabled, new scenes get the timeframe property, empty, ready to fill in. Both apply to notes created in the plugin and to notes created outside it and then added through the Add prompt, including Add all.
A template always wins: an existing non-empty status and an existing timeframe key are never overwritten. Characters and custom note groups never get a status.
Also in this release
- The example projects are refreshed, and the long-story sample now spreads across months so its timeline reads as dates
- README attribution now links the original author's approval of the fork
- Documentation overhaul: new Overview page, rewritten Kanban page, updated Troubleshooting, Compile, Getting Started, Timeline, Plot Grid, and Word Count docs
- Test suite grew from 243 to 270 tests
Compatibility
- Data format is unchanged (version 3). Existing installs upgrade in place.
- If a project previously carried the plugin-managed board property, it is no longer read or written. Existing values are harmless but can be deleted from notes.
Upgrading
Install from Community plugins, or replace main.js, manifest.json, and styles.css in .obsidian/plugins/longform-extended/ and reload. minAppVersion is unchanged at 1.14.0.
Commits
42421cd feat: add openOutput option to compile function and update related steps
ffd7330 feat: implement addUnknownScenes function and update scene defaults handling
f84826f fix: update import paths in autocompile tests and improve mock usage
d9cfef0 feat: add tests for autocompile, kanban status, and refresh generated files
8eb9528 feat: enhance documentation for autocompile feature and update kanban handling
d6bf90e feat: add autocompile feature with configurable intervals
e84c4f0 Fix/new note status (#10)
9008880 Change/move status (#8)
3fa9d3f Update/better examples (#9)
Full Changelog: 1.0.1...1.1.0
1.0.1
Longform Extended 1.0.1
Everything merged since 1.0.0, in one release.
Highlights
Settings carry over from Longform
On first launch, if Longform Extended has no data.json of its own, it reads the one left by upstream Longform in the neighbouring plugin folder. Workflows, sessions, goals, templates and sync settings come across, legacy projects are converted in place, and the plugin writes its own settings file. There is no prompt and the upstream file is never modified.
Startup project selection
A long-story project is no longer mistaken for a single-scene one on startup. If the saved project path no longer exists — moved folder, renamed file, or a fresh install — the plugin now resolves it by filename, folder, or title instead of rendering an empty pane.
Template variables when creating notes
New notes built from a template now expand the same variables as Obsidian's core Templates plugin: {{title}}, {{date}}, {{time}}, plus the :FORMAT variants.
Fixes
- Timeline times render with
:instead of. - Project picker shows a disabled Select a project… entry instead of silently defaulting to the first project
- One malformed project no longer hides every other project in the vault
- Startup discovery failures are logged instead of failing silently
- Repeated draft-store subscriptions are replaced rather than stacked
Additions
- Settings shows the plugin version, build commit, and build time
- New docs: Getting Started, Status tab, Scene-only styling, Troubleshooting, Generated files
- Rewritten README, updated Timeline, Kanban, Plot Grid, Subplots and Characters, Compile, Commands, and Word Count docs, with refreshed screenshots
Compatibility
- Data format is unchanged (version 3). Existing
1.0.0installs upgrade in place. - Users coming from upstream Longform keep their workflows and word-count history.
Commits
0e0f5b1 Update version to 1.0.1
4bb59b6 Refactor migration logic and remove deprecated methods for improved data handling
ea36cbe Improved README and documentation (#6)
09c980a fix/template-variables (#5)
8e073f2 Fix/startup project selection (#4)
Full Changelog: 1.0.0...1.0.1
1.0.0
What's Changed
Longform Extended 1.0.0
Released 27 October 2026. Tag: 1.0.0.
Longform Extended is its own plugin, not a new Longform version. It's a fork of
Longform 2.1.0: the project data, scenes, drafts, word counts, and compile
workflows stay the same, and this adds some extra note groups and views around
them. Existing Longform projects should open and work as before.
What it does
Note groups. Alongside Scenes, Subplots, and Characters, you can add your
own groups. Each one gets a folder, an optional template, a Notes sub-tab, and
the usual tree tools for creating, renaming, reordering, and indenting notes.
You can change the built-in display names without changing folders, note paths,
or frontmatter. Group folders have to be distinct and non-nested, so two groups
can't share a folder or sit inside one another.
Subplot Grid. A generated .base with an editable transposed view. The
subplots and characters are the columns, the hierarchy nodes are the rows, and
the Level dropdown picks a level or All. A cell writes back to that row note's
plotgrid_* frontmatter, and deeper levels don't roll up into shallower ones.
The grid writes to Build/$1_plotgrid.base by default.
Timeline. Scenes placed by their timeframe value, with a Mermaid diagram
and tables. With the subplot grid on, you get one table per populated hierarchy
level, deepest first. The first column uses your Subplots display name.
Kanban. A native Bases board grouped by each note's status. Dragging a
card writes the column back to the note. Include subplots adds subplot notes as
cards. Unrecognized statuses share one Incorrectly Assigned column, and notes
without a status stay hidden unless you turn on Show notes with no status. Save
word counts writes counts for scenes with a recognized status; subplot cards
stay blank.
Status tab. A daily writing-goal bar based on your latest session, a Refresh
button for all enabled generated files, and shortcuts to open the timeline,
kanban, or subplot grid. Single-note projects don't get this tab.
Templates, docs, and examples. Subplot and character templates can be set
per project or globally, and extra groups have their own template setting. There
are new docs and four sample projects: a short story, a long story, an essay,
and a screenplay.
User-script compile steps are gone
1.0.0 removes user-script compile steps. They ran arbitrary .js files from
your vault through window.eval, and I can't ship that through Obsidian's
review.
The loader wasn't new. The same one shipped in Longform 2.1.0 on 19 March 2025,
and ESLint's no-eval rule has existed since ESLint v0.0.2. What changed is
enforcement: Obsidian's automated community review launched in May 2026. The
current review toolchain (obsidian-plugin-validator 1.0.6 /
eslint-plugin-obsidianmd 0.4.2, running ESLint 10.13.0) treats no-eval as a
non-disableable error.
If a workflow still has one of those steps, the Compile tab shows an Invalid
Step. Remove it or replace it with a built-in step; the old script won't run.
Installing
You need Obsidian 1.14.0 or newer. Existing Longform project data should keep
working.
Copy main.js, manifest.json, and styles.css into
.obsidian/plugins/longform-extended/, then enable the plugin under Settings →
Community plugins. Use the longform-extended folder; don't replace upstream
Longform's longform folder.
The Community plugins listing is still waiting on fork approval, so for now this
is an unofficial release.
Good to know
- Extra note groups are for browsing and editing only. They don't add subplot
grid or timeline rows, and the kanban board ignores them. - The custom subplot grid view needs the Bases core plugin enabled. The
generated file still includes a native table view as a fallback.
Enjoy!
New Contributors
Full Changelog: https://github.com/wandrade/longformExtended/commits/1.0.0