Update version, changelog, and roadmap for v0.4.1
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m36s
CI/CD / test-sqlite (pull_request) Successful in 2m45s
CI/CD / build-and-deploy (pull_request) Successful in 1m30s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 12:07:06 +00:00
parent 38938c2961
commit cb8238baf7
3 changed files with 46 additions and 7 deletions

View File

@@ -2,6 +2,40 @@
All notable changes to Switchboard Core are documented here.
## v0.4.1 — Folders + Navigation Tree
### Added
- **Folders table** (`ext_notes_folders`): name, parent_id, creator_id,
sort_order. Indexed on parent_id and creator_id. Nested hierarchy via
parent_id foreign key (empty string = root).
- **Folder CRUD API**: 5 new Starlark handlers — list, create, update, delete
folders plus a dedicated move-note endpoint (`POST /notes/move`).
- **Navigation tree**: `FolderTree` + `FolderNode` Preact components in the
sidebar. Flat API response built into a nested tree client-side via `useMemo`.
Expand/collapse toggles, depth-based indentation, inline rename via
right-click context menu.
- **Folder filtering**: Clicking a folder filters notes by `folder_id` query
param. "All Notes" clears the filter. "Unfiled" shows notes with empty
folder_id (client-side filter).
- **Editor folder select**: Dropdown in the editor header moves notes between
folders. Shows nested hierarchy with `└` prefix indentation.
- **Folder-aware note creation**: New notes inherit the active folder's ID.
- **Delete cascade**: Deleting a folder orphans its notes (moves to Unfiled)
and reparents child folders to the deleted folder's parent.
- **Updated stats**: `/stats` response now includes `unfiled` and `folders`
counts.
### Data model
| Table | Columns |
|-------|---------|
| `ext_notes_folders` | name, parent_id, creator_id, sort_order |
### Notes package version
Bumped from 0.1.0 → 0.2.0. 12 API routes (7 existing + 5 new).
## v0.4.0 — Notes Surface
### Added

View File

@@ -1,6 +1,6 @@
# Switchboard Core — Roadmap
## Current: v0.4.0Notes Surface
## Current: v0.4.1Folders + Navigation Tree
Fork of chat-switchboard, gutted to a pure extension platform. All AI/chat
features removed from the kernel. What remains is the minimum viable
@@ -242,18 +242,23 @@ Zero platform special-casing. Proves the full extension stack E2E.
| Search | ✅ | Client-side LIKE search over title/body. Search bar in sidebar. |
| Pin/archive | ✅ | Pin notes to top, soft-delete via archive, hard delete with `?hard=1`. |
### v0.4.1 — Folders + Navigation Tree (planned)
### v0.4.1 — Folders + Navigation Tree (complete)
- `folders` table (name, parent_id, sort_order)
- Folder CRUD API (4 routes) + note move
- Collapsible folder tree in sidebar
- Breadcrumb trail in editor
| Step | Status | Description |
|------|--------|-------------|
| Folders table | ✅ | `ext_notes_folders` — name, parent_id, creator_id, sort_order. Indexed on parent_id and creator_id. |
| Folder CRUD API | ✅ | 5 Starlark handlers: list, create, update, delete folders + `POST /notes/move`. Delete cascade orphans notes and reparents child folders. |
| Folder tree UI | ✅ | `FolderTree` + `FolderNode` components. Flat-to-tree builder, expand/collapse, depth indentation, inline rename via context menu. |
| Folder filtering | ✅ | Click folder → filter notes. "All Notes" / "Unfiled" virtual views. New notes inherit active folder. |
| Editor folder select | ✅ | Dropdown with nested hierarchy (`└` prefix). Moves notes between folders via move-note API. |
| Updated stats | ✅ | Stats include `unfiled` and `folders` counts. |
### v0.4.2 — Tags + Search (planned)
- `note_tags` table (note_id, tag)
- Tag management inline with note save
- Tag filter in sidebar, tag pills on cards
- Drag-and-drop note-to-folder moves
### v0.4.3 — Backlinks + Wikilinks (planned)

View File

@@ -1 +1 @@
0.4.0
0.4.1