Skip to content

Commit c3ab491

Browse files
committed
Release v0.6.0
- bump VERSION and package.json to 0.6.0 - add changelog entry for temporal analysis, ranking/admin, web UX, and deploy improvements - update server/API metadata version strings to 0.6.0
1 parent 052f094 commit c3ab491

7 files changed

Lines changed: 48 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,41 @@ All notable changes to Forest will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.0] - 2026-02-13
9+
10+
### Added
11+
- **Temporal graph analysis toolkit** ([#34](https://github.com/bwl/forest/issues/34))
12+
- `forest diff --since ...` for node/edge change summaries across snapshots
13+
- `forest growth` for graph growth metrics over time
14+
- `forest snapshot` for explicit point-in-time captures
15+
- **Snapshot persistence model** with automatic daily snapshots plus manual snapshot API/CLI parity
16+
- New `graph_snapshots` table and temporal analysis core
17+
- New API routes: `GET /api/v1/graph/diff`, `GET /api/v1/graph/growth`, `GET /api/v1/graph/snapshots`, `POST /api/v1/graph/snapshots`
18+
- **Node history and restore workflow** ([#31](https://github.com/bwl/forest/issues/31))
19+
- New node history capture and restore commands
20+
- Historical seed support for existing nodes when first accessed
21+
- **Ranking and operations controls**
22+
- `forest admin rescore` for full-graph rescoring
23+
- Degree counter maintenance and safeguards for stale edge metrics
24+
- **Deployment ergonomics**
25+
- `deploy/update-remote.sh` for repeatable server updates
26+
- Build fallback and startup health-check retry/backoff for safer deploys
27+
28+
### Changed
29+
- **Ranking quality improvements** in edge scoring with stronger tag/project signal handling and improved rescore behavior
30+
- **TypeScript script consistency** by standardizing scripts on `bun x tsc`
31+
- **Web node detail UX**
32+
- Connected node list now sorts by strongest accepted edge first
33+
- Connected nodes are directly clickable for navigation
34+
- Node markdown renders as HTML by default with a source toggle
35+
- Content container now grows naturally with content (no fixed-height scroll box)
36+
37+
### Fixed
38+
- **Manual snapshot duplication** - creating a manual snapshot no longer triggers a second automatic snapshot
39+
- **Accepted-degree counter drift** - rebuilt and hardened counter updates to keep graph stats accurate over time
40+
- **CLI runtime compatibility** - fixed tag flag normalization and ESM clerc loading edge cases
41+
- **Deploy false negatives** - startup health checks now tolerate slower service warm-up
42+
843
## [0.3.1] - 2025-10-22
944

1045
### Added
@@ -151,6 +186,7 @@ Initial tagged release with core Forest functionality.
151186
- Local embeddings with Xenova/all-MiniLM-L6-v2
152187
- Comprehensive test coverage
153188

154-
[0.3.1]: https://github.com/bwl/forest/compare/7fa7acb..HEAD
155-
[0.3.0]: https://github.com/bwl/forest/compare/84710c7..7fa7acb
189+
[0.6.0]: https://github.com/bwl/forest/compare/v0.4.5..v0.6.0
190+
[0.3.1]: https://github.com/bwl/forest/compare/v0.3.0..v0.3.1
191+
[0.3.0]: https://github.com/bwl/forest/compare/v0.2.0..v0.3.0
156192
[0.2.0]: https://github.com/bwl/forest/releases/tag/v0.2.0

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.5.0
1+
0.6.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "forest-cli",
3-
"version": "0.4.6",
3+
"version": "0.6.0",
44
"description": "Ingest unstructured ideas into a graph-first knowledge base.",
55
"bin": {
66
"forest": "dist/index.js"

src/server/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export function createServer(options: { port?: number; hostname?: string } = {})
4747
return {
4848
success: false,
4949
error: { code: 'UNAUTHORIZED', message: 'Missing or invalid Authorization header', details: {} },
50-
meta: { timestamp: new Date().toISOString(), version: '0.3.0' },
50+
meta: { timestamp: new Date().toISOString(), version: '0.6.0' },
5151
};
5252
}
5353

@@ -57,7 +57,7 @@ export function createServer(options: { port?: number; hostname?: string } = {})
5757
return {
5858
success: false,
5959
error: { code: 'UNAUTHORIZED', message: 'Invalid API key', details: {} },
60-
meta: { timestamp: new Date().toISOString(), version: '0.3.0' },
60+
meta: { timestamp: new Date().toISOString(), version: '0.6.0' },
6161
};
6262
}
6363
})
@@ -66,7 +66,7 @@ export function createServer(options: { port?: number; hostname?: string } = {})
6666
documentation: {
6767
info: {
6868
title: 'Forest API',
69-
version: '0.3.0',
69+
version: '0.6.0',
7070
description: 'Graph-native knowledge base server',
7171
},
7272
tags: [
@@ -84,7 +84,7 @@ export function createServer(options: { port?: number; hostname?: string } = {})
8484
)
8585
.get('/', () => ({
8686
name: 'Forest API',
87-
version: '0.3.0',
87+
version: '0.6.0',
8888
documentation: '/swagger',
8989
}))
9090
.use(healthRoutes)

src/server/routes/health.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const healthRoutes = new Elysia({ prefix: '/api/v1' })
3333
},
3434
meta: {
3535
timestamp: new Date().toISOString(),
36-
version: '0.3.0',
36+
version: '0.6.0',
3737
},
3838
};
3939
},

src/server/utils/errors.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export function createErrorResponse(error: unknown) {
102102
error: error.toJSON(),
103103
meta: {
104104
timestamp: new Date().toISOString(),
105-
version: '0.3.0',
105+
version: '0.6.0',
106106
},
107107
};
108108
}
@@ -117,7 +117,7 @@ export function createErrorResponse(error: unknown) {
117117
},
118118
meta: {
119119
timestamp: new Date().toISOString(),
120-
version: '0.3.0',
120+
version: '0.6.0',
121121
},
122122
};
123123
}

src/server/utils/helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export function createSuccessResponse<T>(data: T): SuccessResponse<T> {
2929
data,
3030
meta: {
3131
timestamp: new Date().toISOString(),
32-
version: '0.3.0',
32+
version: '0.6.0',
3333
},
3434
};
3535
}

0 commit comments

Comments
 (0)