Skip to content

Releases: kazdonkai/unified-outliner

0.4.1

Choose a tag to compare

@kazdonkai kazdonkai released this 14 Aug 11:07

Fixed

  • Corrected the GitHub Release tag to exactly match manifest.json's version string (0.4.1), which had previously been pushed as v0.4.1. Obsidian's Community Plugins listing requires an exact match to resolve a release, so the mismatched tag prevented the plugin from being installable via in-app search. No functional or user-facing changes in this release.

0.4.0

Choose a tag to compare

@kazdonkai kazdonkai released this 12 Aug 16:57

Added

  • New setting: "Heading prefix in Outline Tree" (General tab) — shows an optional badge before a section's heading text in the Outline Tree, indicating its heading level. Choices: don't show (default), "H1"–"H6", or "#"–"######" (the literal ATX marker count). Purely cosmetic; never changes the heading text itself.
  • Read-only CompositeBlock projection in the Outline Tree (Phase 5D-0.3).
  • Plugin settings reorganized into "General" and "Composite blocks" tabs.
  • (UXP-01) Dragging a row on iPad now uses a dedicated drag handle with native HTML5 drag-and-drop, isolated from the long-press context menu gesture. Desktop drag behavior (grabbing the row itself) is unchanged. Verified against all 12 real-device acceptance criteria on iPad.

Fixed

  • Ordered list markers ("1.", "1)", a mid-list restart like "3.") were silently stripped from the Outline Tree's display text by the same logic that strips unordered bullets, so numbered lists appeared unnumbered in the Tree even though the document body itself was correctly ordered. Ordered markers now display correctly at every nesting depth; bullets remain marker-free as before.
  • (UXP-02) Long-pressing a second row in the Outline Tree before dismissing the first row's context menu on mobile left both menus open and stacked, since the mobile DOM-rendered menu (unlike desktop's native OS menu) has no built-in "only one open at a time" behavior. The view now tracks its single open menu and hides it before showing a new one. Confirmed fixed on iPad and desktop.

0.3.5

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 12:02

Fixed the Next sibling button never showing its target-label preview (setIcon() was silently wiping the label/target spans created before it). No other behavior change.

0.3.4

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 09:09

Fixed

  • Adopted obsidianmd/eslint-plugin (the official local check for Obsidian's automated Community review) and resolved everything it flagged: setCssProps instead of direct element.style assignment, two redundant type assertions removed, and UI-language auto-detection now uses Obsidian's public getLanguage() instead of an undocumented localStorage key. No behavior change.

0.3.3

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 08:30

Added

  • Added a target-label preview to the Partial Edit Pane's sibling "Previous"/"Next" buttons, showing the destination sibling's own label (e.g. "‹ Previous Markdown A") so it's clear where each button leads before it's clicked. A long label is truncated with CSS ellipsis; the button's own tooltip still shows the full label. No label is shown for a disabled direction (no sibling). Uses the existing sibling state and requestLoadNode transition path — no new navigation API or dirty guard.

0.3.2

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 07:57

Fixed

  • Fixed the Partial Edit Pane's sibling "Next" button being pushed all the way to the pane's right edge, far from "Previous" and awkward to reach. Both buttons now sit adjacent at the start of the row, matching the breadcrumb and Subtree Navigator rows above/below.

0.3.1

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 07:44

Added

  • Added sibling previous/next navigation to the Partial Edit Pane header, alongside the existing ancestor breadcrumb and Subtree Navigator. Two buttons let you move sideways to the loaded node's previous/next sibling — a section or list item sharing the same parent — without leaving the pane, including in a popped-out window. Each button disables itself when there is no sibling in that direction, and the destination's label is shown on hover. Navigation reuses the pane's existing guarded projection entry point, so unapplied edits are always confirmed (Apply / Discard / Cancel) before switching, exactly like breadcrumb and Subtree Navigator clicks already do.

0.3.0

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 06:50

<CHANGELOGの該当節>

0.2.3

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 05:48

Changelog

This project follows Semantic Versioning. The entries below begin with the first Git baseline created after Phase 4F.

[Unreleased]

[0.2.3] - 2026-08-11

Fixed

  • Fixed the Outline Tree View's double-click-to-rename often failing to trigger. The double-click listener lived only on a row's text label, which is only as wide as its own text — double-clicking the empty space elsewhere in the row (common for short labels) missed it entirely. Double-click now starts a rename from anywhere on the row, except the fold/disclosure triangle, which keeps its own toggle-fold behavior.

[0.2.2] - 2026-08-11

Fixed

  • Fixed the Outline Tree View's inline rename discarding an edit without any warning whenever focus left the input by any means other than pressing Enter — including simply clicking a different row to look at it. Moving focus out of the rename box now commits the edit (matching Finder/Explorer/VS Code tree-view conventions) unless the text was left completely unchanged, in which case it still cleanly cancels. Escape continues to always cancel explicitly.
  • Fixed a related latent bug where committing an inline rename with the text left exactly as it started could insert a spurious blank line at the end of the note.

[0.2.1] - 2026-08-11

Fixed

  • Fixed the Outline Tree View's long-press context menu on mobile (iPadOS/mobile Safari) sometimes failing to open, with a duplicated or corrupted pane appearing instead. Rows were marked draggable="true" even on mobile, where WebKit's native drag-lift gesture for touch-and-hold competed with the plugin's own long-press timer for the same gesture. Rows are now only marked draggable on desktop; mobile reordering was already available via the long-press menu's Move up/down and Indent/Outdent commands.

[0.2.0] - 2026-08-11

Added

  • Added Move section up / Move section down commands that always move the whole enclosing heading section, regardless of where the cursor sits inside it.
  • Redefined Move block up / Move block down to operate on the minimal safe unit at the cursor: a heading section, a list subtree, a plain paragraph, or — when the cursor is inside one — a whole callout, blockquote, fenced code block, or table. Ambiguous or unrecognized boundaries are rejected without editing the note.
  • Added Delete block (section / list subtree), Insert sibling after current block, and Insert child list item commands, wired into the Outline Tree View's context menu.
  • Added inline rename for section headings and list items directly in the Outline Tree View: double-click a row (or press F2, or choose Rename from its context menu) to edit its text in place, with commit on Enter and cancel on Escape. Renaming is IME-safe, writes back through the plugin's normal safe edit path, and commits as a single Undo/Redo step. A newly inserted block is renamed automatically.
  • Added mobile tap and long-press support in the Outline Tree View: a single tap selects a row, tapping an already-selected row starts inline rename, and a long-press opens the context menu.
  • Added optional visual aids to the Outline Tree View: a subtle always-on background or left-edge stripe to distinguish section rows from list rows, a brief flash highlight on the row a Move block / Move section command just moved, and a short notice naming what was moved. All configurable under the new "Move & Outline Tree kind highlight" settings group (Section background style in Outline Tree, List row highlight style in Outline Tree, Preview move target in Outline Tree, Show move result toast).
  • Added ancestor breadcrumb navigation and a Subtree Navigator to the Partial Edit Pane, for moving up to a parent or into a child block without leaving the pane.
  • Added pop-out window support for the Partial Edit Pane, reachable from the Outline Tree View's node context menu.

Changed

  • User-facing text assembled by the plugin (notices, the move-result toast, and the Outline Tree View / Partial Edit Pane empty-state messages) now defaults to English, since the plugin is not limited to a specific language. This affects wording only, not behavior.
  • The Partial Edit Pane now shows its Apply/Cancel controls only while there are unsaved changes, and its close button behaves consistently with that dirty state.

Fixed

  • Fixed the inline rename input in the Outline Tree View collapsing to a narrow width instead of filling the row.

[0.1.4] - 2026-08-07

Added

  • Added a setting to control whether Outline Tree fold and unfold actions also affect the active Markdown editor.

Fixed

  • Replaced a parser array-initialization pattern reported by static analysis without changing parsing behavior.

Changed

  • Replaced the build-only builtin-modules dependency with Node's built-in module list.
  • Expressed the drag-and-drop color fallback with a CSS feature query while preserving the existing appearance.

[0.1.3] - 2026-08-06

Fixed

  • Handled Outline Tree View and Partial Edit Pane activation failures without leaking unhandled promise rejections from UI callbacks.
  • Used the owning window's animation frame scheduler for popout-compatible Outline Tree scrolling.

Changed

  • Declared direct CodeMirror development dependencies and updated the build-only builtin-modules dependency.
  • Consolidated the internal CodeMirror view lookup used by Outline Tree scrolling and leaf resolution.
  • Removed an unused Outline Tree import while preserving the contextual command path.
  • Updated the English and Japanese installation guides for Community Plugins, BRAT beta installs, and direct GitHub Release downloads.

[0.1.2] - 2026-08-06

Fixed

  • Preserved user-positioned Outline Tree View and Partial Edit Pane leaves when the plugin unloads, rather than detaching them and resetting their workspace location on the next load.

[0.1.1] - 2026-08-06

Changed

  • Updated manifest and package metadata to meet Community Plugins submission requirements.
  • Added English and Japanese user guides, screenshots, and short video walkthroughs.
  • Added versions.json and repository metadata for release compatibility and traceability.

[0.1.0] - 2026-08-05

Added

  • Unified editing of heading sections and list subtrees through commands and the Outline Tree View.
  • Drag and drop for section and list subtrees.
  • Partial Edit Pane for section and list subtrees with conflict detection before apply.
  • Bidirectional synchronization between the Outline Tree fold state and CodeMirror fold state.
  • Per-file fold-state persistence and the Phase 4F conflict policy for multiple Outline Tree leaves.
  • Regression coverage for Phase 4F authoritative fold-state handling and its separation from Partial Edit Pane conflicts.

Notes

  • This is the initial public release of Unified Outliner.
  • Callout, Mermaid, and table blocks are not supported as structural editing targets at this version.

0.2.2

Choose a tag to compare

@kazdonkai kazdonkai released this 11 Aug 05:17

Changelog

This project follows Semantic Versioning. The entries below begin with the first Git baseline created after Phase 4F.

[Unreleased]

[0.2.2] - 2026-08-11

Fixed

  • Fixed the Outline Tree View's inline rename discarding an edit without any warning whenever focus left the input by any means other than pressing Enter — including simply clicking a different row to look at it. Moving focus out of the rename box now commits the edit (matching Finder/Explorer/VS Code tree-view conventions) unless the text was left completely unchanged, in which case it still cleanly cancels. Escape continues to always cancel explicitly.
  • Fixed a related latent bug where committing an inline rename with the text left exactly as it started could insert a spurious blank line at the end of the note.

[0.2.1] - 2026-08-11

Fixed

  • Fixed the Outline Tree View's long-press context menu on mobile (iPadOS/mobile Safari) sometimes failing to open, with a duplicated or corrupted pane appearing instead. Rows were marked draggable="true" even on mobile, where WebKit's native drag-lift gesture for touch-and-hold competed with the plugin's own long-press timer for the same gesture. Rows are now only marked draggable on desktop; mobile reordering was already available via the long-press menu's Move up/down and Indent/Outdent commands.

[0.2.0] - 2026-08-11

Added

  • Added Move section up / Move section down commands that always move the whole enclosing heading section, regardless of where the cursor sits inside it.
  • Redefined Move block up / Move block down to operate on the minimal safe unit at the cursor: a heading section, a list subtree, a plain paragraph, or — when the cursor is inside one — a whole callout, blockquote, fenced code block, or table. Ambiguous or unrecognized boundaries are rejected without editing the note.
  • Added Delete block (section / list subtree), Insert sibling after current block, and Insert child list item commands, wired into the Outline Tree View's context menu.
  • Added inline rename for section headings and list items directly in the Outline Tree View: double-click a row (or press F2, or choose Rename from its context menu) to edit its text in place, with commit on Enter and cancel on Escape. Renaming is IME-safe, writes back through the plugin's normal safe edit path, and commits as a single Undo/Redo step. A newly inserted block is renamed automatically.
  • Added mobile tap and long-press support in the Outline Tree View: a single tap selects a row, tapping an already-selected row starts inline rename, and a long-press opens the context menu.
  • Added optional visual aids to the Outline Tree View: a subtle always-on background or left-edge stripe to distinguish section rows from list rows, a brief flash highlight on the row a Move block / Move section command just moved, and a short notice naming what was moved. All configurable under the new "Move & Outline Tree kind highlight" settings group (Section background style in Outline Tree, List row highlight style in Outline Tree, Preview move target in Outline Tree, Show move result toast).
  • Added ancestor breadcrumb navigation and a Subtree Navigator to the Partial Edit Pane, for moving up to a parent or into a child block without leaving the pane.
  • Added pop-out window support for the Partial Edit Pane, reachable from the Outline Tree View's node context menu.

Changed

  • User-facing text assembled by the plugin (notices, the move-result toast, and the Outline Tree View / Partial Edit Pane empty-state messages) now defaults to English, since the plugin is not limited to a specific language. This affects wording only, not behavior.
  • The Partial Edit Pane now shows its Apply/Cancel controls only while there are unsaved changes, and its close button behaves consistently with that dirty state.

Fixed

  • Fixed the inline rename input in the Outline Tree View collapsing to a narrow width instead of filling the row.

[0.1.4] - 2026-08-07

Added

  • Added a setting to control whether Outline Tree fold and unfold actions also affect the active Markdown editor.

Fixed

  • Replaced a parser array-initialization pattern reported by static analysis without changing parsing behavior.

Changed

  • Replaced the build-only builtin-modules dependency with Node's built-in module list.
  • Expressed the drag-and-drop color fallback with a CSS feature query while preserving the existing appearance.

[0.1.3] - 2026-08-06

Fixed

  • Handled Outline Tree View and Partial Edit Pane activation failures without leaking unhandled promise rejections from UI callbacks.
  • Used the owning window's animation frame scheduler for popout-compatible Outline Tree scrolling.

Changed

  • Declared direct CodeMirror development dependencies and updated the build-only builtin-modules dependency.
  • Consolidated the internal CodeMirror view lookup used by Outline Tree scrolling and leaf resolution.
  • Removed an unused Outline Tree import while preserving the contextual command path.
  • Updated the English and Japanese installation guides for Community Plugins, BRAT beta installs, and direct GitHub Release downloads.

[0.1.2] - 2026-08-06

Fixed

  • Preserved user-positioned Outline Tree View and Partial Edit Pane leaves when the plugin unloads, rather than detaching them and resetting their workspace location on the next load.

[0.1.1] - 2026-08-06

Changed

  • Updated manifest and package metadata to meet Community Plugins submission requirements.
  • Added English and Japanese user guides, screenshots, and short video walkthroughs.
  • Added versions.json and repository metadata for release compatibility and traceability.

[0.1.0] - 2026-08-05

Added

  • Unified editing of heading sections and list subtrees through commands and the Outline Tree View.
  • Drag and drop for section and list subtrees.
  • Partial Edit Pane for section and list subtrees with conflict detection before apply.
  • Bidirectional synchronization between the Outline Tree fold state and CodeMirror fold state.
  • Per-file fold-state persistence and the Phase 4F conflict policy for multiple Outline Tree leaves.
  • Regression coverage for Phase 4F authoritative fold-state handling and its separation from Partial Edit Pane conflicts.

Notes

  • This is the initial public release of Unified Outliner.
  • Callout, Mermaid, and table blocks are not supported as structural editing targets at this version.