chore: release 2.0.0-alpha.21 (docs-kind spaces + long-page embedding)

This commit is contained in:
root
2026-06-05 23:49:48 +10:00
parent 4b3945f904
commit 358b826247
3 changed files with 6 additions and 2 deletions

View File

@@ -3,6 +3,10 @@
All notable changes to Void 2.0 are documented here. All notable changes to Void 2.0 are documented here.
Format: [Keep a Changelog](https://keepachangelog.com). Format: [Keep a Changelog](https://keepachangelog.com).
## 2.0.0-alpha.21 — Docs-kind spaces + long-page embedding
- **`spaces.kind` (`'project'` | `'docs'`)** (`migration 021`): `'docs'` spaces render as a pure documentation repository — `public/views/space.js` shows only the sectioned page tree (no Projects/Tasks/"+ New"), and the sidebar expands a docs space to its top-level pages (`#/page/:id`) instead of projects. The **Wiki** is seeded to `'docs'`. Project spaces unchanged.
- **Chunk + mean-pool embeddings** (`lib/ai/ollama.js` `chunkText`/`embedTextPooled`, used by the embed worker): long pages are split into ≤1500-char chunks, each embedded, then element-wise mean-pooled into one vector — replacing the old `slice(0,6000)` truncation that made dense/long docs fail with Ollama "input length exceeds context length". Single-chunk docs are unchanged.
## 2.0.0-alpha.20 — Page ordering + sectioned space view ## 2.0.0-alpha.20 — Page ordering + sectioned space view
- **Explicit page ordering** (`migration 020`, `lib/db/repos/pages.js`): pages gain a `position integer` column; `listBySpace` now orders `position, title` instead of alphabetical-only, with a covering index `(space_id, position, title)`. `position` is patchable via `PUT /api/pages/:id`. Backfills all rows to `0` (preserves prior title order until positions are set). - **Explicit page ordering** (`migration 020`, `lib/db/repos/pages.js`): pages gain a `position integer` column; `listBySpace` now orders `position, title` instead of alphabetical-only, with a covering index `(space_id, position, title)`. `position` is patchable via `PUT /api/pages/:id`. Backfills all rows to `0` (preserves prior title order until positions are set).
- **Sectioned page tree** (`public/views/space.js`): the flat pages table is replaced by a `parent_id`-grouped tree — top-level pages render as section headers with their children/grandchildren nested. Backward-compatible with flat (un-nested) spaces. Enables the Wiki to read as ordered, sectioned documentation rather than an alphabetical dump. - **Sectioned page tree** (`public/views/space.js`): the flat pages table is replaced by a `parent_id`-grouped tree — top-level pages render as section headers with their children/grandchildren nested. Backward-compatible with flat (un-nested) spaces. Enables the Wiki to read as ordered, sectioned documentation rather than an alphabetical dump.

View File

@@ -1,6 +1,6 @@
{ {
"name": "void-server", "name": "void-server",
"version": "2.0.0-alpha.20", "version": "2.0.0-alpha.21",
"type": "module", "type": "module",
"private": true, "private": true,
"scripts": { "scripts": {

View File

@@ -13,7 +13,7 @@ import { mcpAuth } from './lib/api/middleware/mcp_auth.js';
import { handleMcp } from './lib/mcp/http.js'; import { handleMcp } from './lib/mcp/http.js';
import httpProxy from 'http-proxy'; import httpProxy from 'http-proxy';
const VERSION = '2.0.0-alpha.20'; const VERSION = '2.0.0-alpha.21';
// Proxy /terminal (+ its WebSocket) to ttyd on CT 300, so the embedded terminal // Proxy /terminal (+ its WebSocket) to ttyd on CT 300, so the embedded terminal
// works whether the Void is reached via Traefik (void2-app.hynesy.com) OR the // works whether the Void is reached via Traefik (void2-app.hynesy.com) OR the