Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ body:
attributes:
label: Lucid version
description: Lucid menu → About Lucid
placeholder: "0.1.0"
placeholder: "0.2.0"
validations:
required: true
- type: input
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,33 @@
All notable changes to Lucid are listed here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and Lucid uses [semantic versioning](https://semver.org).

## [0.2.0] - 2026-10-12

Lucid now runs on Windows and Linux as well as the Mac, has clearer panels and a new look for the list of pages, and has a website.

### Added

- **Windows and Linux.** Windows 10 or newer (64-bit): an installer that needs no administrator, and a portable `.zip`. Linux (64-bit): a `.deb` for Debian and Ubuntu and an AppImage for other distributions. The PDF engine comes with each, so nothing else has to be installed. Shortcut hints say Ctrl, Shift and Alt on these systems; the connection for AI agents is a named pipe on Windows. Every build is tested on GitHub's own macOS, Windows and Ubuntu machines before it is released.
- **A website** at https://triggeredcode.github.io/lucid/ with the downloads for each system (it picks out yours), the idea in pictures, the note formats and the first-time steps for each system.

### Changed

- The pages list and the History panel stand clearly apart from the page in both themes, and small text is darker (the contrast is checked against WCAG ratios by a test).
- Pages in the list are small file icons with the name, the kind of note and when it last changed; the open page is bold. History entries are cards.
- The top bar is taller, and stays on one line at the default window size (the buttons show only their pictures when the window is narrow).
- The Mac files are named `Lucid-<version>-mac-arm64.dmg` and `.zip`, like the files for the other systems.

### Fixed

- AltGr (the right Alt key on many European keyboards) no longer starts Command mode when you type `@`, `{` or `€`.

### Known limits

- The apps are not signed: macOS asks once (Open Anyway), and Windows SmartScreen may ask (More info, Run anyway). On Ubuntu 24.04 and newer an AppImage may need `--no-sandbox`; the `.deb` does not.
- No Intel Mac build, and no Windows or Linux build for ARM yet.
- The Mac version has had the most everyday use. Please report what is off on Windows or Linux.
- The first PDF on a computer downloads Tectonic's typesetting files (about five minutes, once). Only `qwen/qwen3.8-27b` has been evaluated.

## [0.1.0] - 2026-10-12

The first public release.
Expand Down Expand Up @@ -33,4 +60,5 @@ The first public release.
- The first PDF on a computer downloads Tectonic's typesetting files (about five minutes, once).
- Only `qwen/qwen3.8-27b` has been evaluated. A request takes 10 to 25 seconds on a laptop.

[0.2.0]: https://github.com/triggeredcode/lucid/releases/tag/v0.2.0
[0.1.0]: https://github.com/triggeredcode/lucid/releases/tag/v0.1.0
27 changes: 27 additions & 0 deletions apps/desktop/electron/version.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { SERVER_VERSION } from "@lucid/mcp";
import { describe, expect, it } from "vitest";

/** One version for the whole product: a release is one number, and the changelog tells what is in it. */
const root = join(__dirname, "../../..");
const read = (file: string): string => readFileSync(join(root, file), "utf8");
const version = (file: string): string => (JSON.parse(read(file)) as { version: string }).version;

describe("the version", () => {
it("is the same in the workspace, in the app and in the agent server", () => {
const v = version("package.json");
expect(v).toMatch(/^\d+\.\d+\.\d+$/);
expect(version("apps/desktop/package.json")).toBe(v);
expect(SERVER_VERSION).toBe(v);
});

it("has an entry in the changelog, newest first, with its link", () => {
const v = version("package.json");
const log = read("CHANGELOG.md");
expect(log).toContain(`## [${v}] - `);
expect(log).toContain(`[${v}]: https://github.com/triggeredcode/lucid/releases/tag/v${v}`);
const headings = [...log.matchAll(/^## \[(\d+\.\d+\.\d+)\]/gm)].map((m) => m[1]);
expect(headings[0]).toBe(v);
});
});
2 changes: 1 addition & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@lucid/desktop",
"productName": "Lucid",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"description": "Lucid: structured notes (headings, lists, tables, diagrams) built while you think, with a local model",
"main": "./out/main/index.js",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lucid",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"description": "A structured document built while you think: headings, lists, tables and diagrams from speech or typing, with a local model. A toolbox for AI agents.",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp/src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Backend } from "./backend";
import { TOOLS } from "./tools";

export const SERVER_NAME = "lucid";
export const SERVER_VERSION = "0.1.0";
export const SERVER_VERSION = "0.2.0";

const INSTRUCTIONS = `Lucid is a local note editor for learning notes (system design, inference engineering, benchmarks). A page is a list of typed blocks: headings, paragraphs, bullets, callouts, tables, diagrams, math, charts, code.
Start with get_outline (and describe_kit once). Add notes with insert_notes (Lucid Markdown); change what is there with apply_ops, using the [bN] references from the outline. Never write LaTeX or Mermaid: Lucid draws diagrams and PDFs itself.
Expand Down
Loading