Skip to content

release(1.0.1): publish patch release - #204

Merged
goniszewski merged 2 commits into
mainfrom
release-1.0.1
Aug 3, 2026
Merged

release(1.0.1): publish patch release#204
goniszewski merged 2 commits into
mainfrom
release-1.0.1

Conversation

@goniszewski

Copy link
Copy Markdown
Owner

Summary

Patch release 1.0.1 — fixes release-blocking inconsistencies found during review, plus the version bump and release metadata.

Semver: patch — no API/DB schema changes, no new features, bug fixes only.

Changes

Fixes

  • install.sh now defaults to the current release version instead of the stale 0.1.0-beta — a fresh one-command install would have fetched the old beta.
  • GitHub issue/repository extraction:
    • accepts www.github.com URLs (previously fell through to the generic readability extractor and lost issue metadata),
    • keeps stripping a trailing .git from repo names (the API rejects it),
    • sends Grimoire/<version> as the User-Agent, derived from the packaged version instead of a hardcoded stale LittleImp/0.0 (all six fetchers).
  • The sqlite-vec index is rebuilt in a single atomic transaction at daemon start instead of thousands of per-row transactions.
  • E2E mocks/specs, test fixtures, release-checklist.md, and update-system.md aligned with the 1.0.x version identity and goniszewski/grimoire repo (the 1.0.0 release doc required this but it was never done).

Release

  • Version bumped to 1.0.1 (root + daemon manifests, API/MCP contract, install.sh, docs, e2e).
  • Release archives built; Homebrew formula + checksum baselines filled with the real 1.0.1 SHAs.
  • CHANGELOG entry and regenerated API docs.

Verification

  • npm run check green: lint (0 errors), type-check, 311 frontend tests, 487 daemon tests, docs:api:check, production build.
  • Release artifacts validated by npm run release:validate (checksum-only; detached .asc signatures to be added by the maintainer, GPG is unavailable in the agent environment).

- 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
Copilot AI review requested due to automatic review settings August 3, 2026 09:30
@cursor

cursor Bot commented Aug 3, 2026

Copy link
Copy Markdown

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.

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@goniszewski
goniszewski merged commit 5323001 into main Aug 3, 2026
8 checks passed
@goniszewski
goniszewski deleted the release-1.0.1 branch August 3, 2026 09:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.com GitHub URLs, strip trailing .git from repo names, and send Grimoire/<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.

Comment on lines +129 to +149
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);
}
})();
Comment thread e2e/mock-daemon.ts
update_available: false,
source: "https://github.com/goniszewski/little-imp/releases",
source: "https://github.com/goniszewski/grimoire/releases",
channel: "beta",

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread install.sh
APP_NAME="Grimoire"
REPO="goniszewski/grimoire"
VERSION="${LITTLEIMP_VERSION:-0.1.0-beta}"
VERSION="${LITTLEIMP_VERSION:-1.0.1}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment thread docs/release-checklist.md
Comment on lines 215 to +216
`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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Comment thread CHANGELOG.md

No unreleased changes.

## [1.0.1] - 2026-08-03

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants