release(1.0.1): publish patch release - #204
Conversation
- install.sh: default LITTLEIMP_VERSION to the current release (was 0.1.0-beta) - extractors: accept www.github.com URLs, restore .git suffix stripping, and send Grimoire/1.0.0 User-Agent from all fetchers - e2e: align mock daemon and specs with the real daemon version and repo URLs - embedding-repository: rebuild the sqlite-vec index in a single atomic transaction instead of thousands of per-row transactions on every boot - docs: refresh release-checklist.md and update-system.md version strings (0.1.0-beta -> 1.0.0) and align test fixtures
- Bump version identity to 1.0.1 across package manifests, install.sh, API/MCP contract, docs, e2e mocks, and test fixtures - Derive the outgoing User-Agent from the packaged version instead of hardcoding it, so fetchers stop drifting from the release version - Build release archives and fill the Homebrew formula and checksum baselines with the real 1.0.1 artifact SHAs - Add a 1.0.1 changelog entry; regenerate API docs
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
There was a problem hiding this comment.
Pull request overview
Patch-release PR for Grimoire 1.0.1, updating release metadata and aligning the codebase, tests, docs, and release artifacts with the 1.0.x identity while including a few release-blocking fixups (GitHub URL handling, User-Agent strings, and sqlite-vec index rebuild behavior).
Changes:
- Bump versions to 1.0.1 across app/daemon manifests, API docs/contract examples, install script, and test fixtures.
- Update extractors/fetchers to accept
www.github.comGitHub URLs, strip trailing.gitfrom repo names, and sendGrimoire/<version>-style User-Agent derived from packaged version. - Improve sqlite-vec index rebuild by performing the rebuild within a single transaction (atomic + avoids per-row transactions).
Reviewed changes
Copilot reviewed 33 out of 34 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/Settings.test.tsx | Updates Settings page test fixtures to 1.0.1 + stable/grimoire release links. |
| src/pages/Index.test.tsx | Updates update-banner test fixtures to 1.0.1 + grimoire release URLs. |
| src/lib/api.test.ts | Updates health API tests to expect version 1.0.1. |
| src/components/UpdateAvailableBanner.tsx | Updates prop doc example to 1.0.1. |
| src/components/UpdateAvailableBanner.test.tsx | Updates banner tests to use 1.0.1 as current version. |
| scripts/homebrew-formula.test.ts | Adds 1.0.1 checksum baselines used by formula tests. |
| README.md | Updates “release target” badge to 1.0.1. |
| package.json | Bumps app version to 1.0.1. |
| install.sh | Defaults one-command installer version to 1.0.1. |
| Formula/grimoire.rb | Updates Homebrew formula URLs + SHAs for 1.0.1 artifacts. |
| e2e/update-notification.spec.ts | Updates E2E update-notification mocks/expectations to 1.0.1 + grimoire URLs. |
| e2e/mock-daemon.ts | Updates mock daemon update-check payload to 1.0.1 + grimoire URLs. |
| e2e/business-requirements.spec.ts | Updates E2E business requirements text expectations to 1.0.1. |
| docs/update-system.md | Updates update-system doc to 1.0.1 and adjusts tag-qualified installer examples. |
| docs/release-checklist.md | Updates release checklist target/versioned artifact names + commands to 1.0.1. |
| docs/prd.md | Aligns PRD “current release” references to 1.0.1. |
| docs/faq.md | Aligns FAQ references to 1.0.1. |
| docs/api-contract.json | Updates contract examples/serverInfo version strings to 1.0.1. |
| daemon/src/test/pipeline/github-issues.test.ts | Adds coverage for www.github.com issue URLs and .git stripping behavior. |
| daemon/src/test/integration/updates.test.ts | Updates updates integration expectations to 1.0.1 and newer stable latest. |
| daemon/src/test/embedding-repository.test.ts | Adds test coverage for vector index rebuild restoring vec tables from embeddings. |
| daemon/src/test/cli-update.test.ts | Updates CLI update tests for 1.0.1 and stable latest expectations. |
| daemon/src/pipeline/fetcher.ts | Uses packaged version to build a Grimoire User-Agent for general fetcher. |
| daemon/src/pipeline/extractors/youtube.ts | Uses packaged version in YouTube extractor User-Agent. |
| daemon/src/pipeline/extractors/stackoverflow.ts | Uses packaged version in StackOverflow API User-Agent. |
| daemon/src/pipeline/extractors/github.ts | Accepts www.github.com and uses packaged version in GitHub API User-Agent. |
| daemon/src/pipeline/extractors/github-issues.ts | Accepts www.github.com and uses packaged version in GitHub Issues API User-Agent. |
| daemon/src/media/bookmark-media.ts | Uses packaged version in media-fetch User-Agent. |
| daemon/src/db/embedding-repository.ts | Rebuilds sqlite-vec index in a single transaction (atomic + fewer txn cycles). |
| daemon/src/api/contract.ts | Updates generated contract examples/serverInfo version strings to 1.0.1. |
| daemon/package.json | Bumps daemon version to 1.0.1. |
| CHANGELOG.md | Adds 1.0.1 changelog entry. |
| API.md | Updates MCP example and server version to 1.0.1. |
| .gitignore | Ignores *.tsbuildinfo. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| this.db.transaction(() => { | ||
| for (const table of this.listVectorTables()) { | ||
| this.db.run(`DELETE FROM ${table}`); | ||
| } | ||
| for (const row of rows) { | ||
| const table = vectorTableName(row.dimensions); | ||
| this.db.exec( | ||
| `CREATE VIRTUAL TABLE IF NOT EXISTS ${table} USING vec0( | ||
| bookmark_id TEXT PRIMARY KEY, | ||
| model TEXT PARTITION KEY, | ||
| embedding FLOAT[${row.dimensions}] distance_metric=cosine | ||
| )` | ||
| ); | ||
| this.db | ||
| .query<unknown, [string, string, Uint8Array]>( | ||
| `INSERT INTO ${table} (bookmark_id, model, embedding) | ||
| VALUES (?, ?, ?)` | ||
| ) | ||
| .run(row.bookmark_id, row.model, row.vector); | ||
| } | ||
| })(); |
| update_available: false, | ||
| source: "https://github.com/goniszewski/little-imp/releases", | ||
| source: "https://github.com/goniszewski/grimoire/releases", | ||
| channel: "beta", |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c8a109129
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| APP_NAME="Grimoire" | ||
| REPO="goniszewski/grimoire" | ||
| VERSION="${LITTLEIMP_VERSION:-0.1.0-beta}" | ||
| VERSION="${LITTLEIMP_VERSION:-1.0.1}" |
There was a problem hiding this comment.
Add the required release task report
This patch changes installer behavior, Homebrew release packaging, outbound request identity, and daemon startup index rebuilding, but the commit's changed-file list contains no report or parent-index update under docs/task-reports/. Add the required report and index links so the release has the repository-mandated implementation and verification record.
AGENTS.md reference: AGENTS.md:L56-L56
Useful? React with 👍 / 👎.
| `docs/release-checklist.md`, and `docs/update-system.md` all name | ||
| `0.1.0-beta` as the current release target and `v0.1.0-beta` as the release | ||
| `1.0.1` as the current release target and `v1.0.1` as the release |
There was a problem hiding this comment.
Update every document named by the release checklist
This new release gate is already false: docs/overview.md:3 still identifies version 1.0.0, while SECURITY.md:7 lists only 1.0.0 as supported and SECURITY.md:32 still scopes the security boundary to that version. Publishing 1.0.1 with those files unchanged leaves conflicting current/support information and makes the checklist impossible to complete, so update the named documents as part of the version bump.
Useful? React with 👍 / 👎.
|
|
||
| No unreleased changes. | ||
|
|
||
| ## [1.0.1] - 2026-08-03 |
There was a problem hiding this comment.
Place the newest release before older changelog entries
The new 1.0.1 section is below both the older 1.0.0 section and Unreleased, so readers or release tooling scanning the changelog from the top encounter 1.0.0 as the latest published version. Keep Unreleased first and move 1.0.1 immediately below it, ahead of 1.0.0.
Useful? React with 👍 / 👎.



Summary
Patch release 1.0.1 — fixes release-blocking inconsistencies found during review, plus the version bump and release metadata.
Changes
Fixes
install.shnow defaults to the current release version instead of the stale0.1.0-beta— a fresh one-command install would have fetched the old beta.www.github.comURLs (previously fell through to the generic readability extractor and lost issue metadata),.gitfrom repo names (the API rejects it),Grimoire/<version>as the User-Agent, derived from the packaged version instead of a hardcoded staleLittleImp/0.0(all six fetchers).release-checklist.md, andupdate-system.mdaligned with the 1.0.x version identity andgoniszewski/grimoirerepo (the 1.0.0 release doc required this but it was never done).Release
1.0.1(root + daemon manifests, API/MCP contract, install.sh, docs, e2e).Verification
npm run checkgreen: lint (0 errors), type-check, 311 frontend tests, 487 daemon tests,docs:api:check, production build.npm run release:validate(checksum-only; detached.ascsignatures to be added by the maintainer, GPG is unavailable in the agent environment).