@@ -4,6 +4,59 @@ All notable changes to this project will be documented in this file.
44
55## [ Unreleased]
66
7+ _ No unreleased changes._
8+
9+ ## [ 0.4.4] — 2026-06-24
10+
11+ - ** Fixed: installer fails on ` opencode.jsonc ` files with trailing commas.**
12+ The installer's naive JSON parse broke on JSONC's trailing-comma syntax
13+ (common in hand-edited configs). A dedicated JSONC parser (` src/jsonc.ts ` )
14+ now strips trailing commas before parsing, so existing JSONC configs are
15+ detected and reused instead of clobbering or skipping them (#49 ).
16+ - ** Fixed: variant enum keys normalized and ` 'none' ` dropped for provider
17+ parity.** Cursor's model params can advertise enum values like ` 'none' ` for
18+ reasoning/effort levels that don't make sense as a model variant. Enum keys
19+ are now normalized (lowercased, trimmed) and ` 'none' ` is excluded so the
20+ variant picker doesn't show a no-op variant. This aligns the Cursor provider's
21+ variant surface with other opencode providers (#48 ).
22+ - ** Fixed: redundant thinking variant dropped when an effort enum is present.**
23+ When a model advertises both a boolean ` thinking ` param and an ` effort `
24+ enum (e.g. ` low ` /` medium ` /` high ` ), the variant builder previously emitted a
25+ standalone ` thinking ` variant that duplicated one of the effort levels. The
26+ standalone thinking variant is now suppressed in favor of the effort enum
27+ so the picker isn't cluttered with duplicates (#43 ).
28+ - ** Dependency consolidation.** npm deps bumped in one pass: ` @connectrpc/connect-node `
29+ 1.7.0→2.1.2, ` @cursor/sdk ` 1.0.19→1.0.20, ` @opencode-ai/plugin ` 1.17.7→1.17.9,
30+ ` @opencode-ai/sdk ` 1.17.7→1.17.9, ` @types/node ` 25.9.3→26.0.0 (#44 ). GitHub
31+ Actions updates consolidated into a single dependabot group (#45 ), and
32+ ` @opencode-ai/* ` packages are now grouped together (#46 ).
33+
34+ ## [ 0.4.3] — 2026-06-18
35+
36+ - ** ` createPlan ` mapping emits markdown as plain text.** Cursor's plan-mode
37+ tool returned markdown that opencode rendered as a raw code block. The
38+ ` createPlan ` tool output is now mapped to a plain-text part so the plan reads
39+ as formatted prose in the opencode transcript.
40+
41+ ## [ 0.4.2] — 2026-06-17
42+
43+ - ** Fixed: missing ` @connectrpc/connect-node ` dependency.** ` @cursor/sdk `
44+ requires ` @connectrpc/connect-node ` at runtime but didn't declare it as a
45+ direct dependency, so installs that hoisted differently could fail with a
46+ module-not-found error. It's now an explicit dependency (#31 ).
47+
48+ ## [ 0.4.1] — 2026-06-17
49+
50+ - ** ` read ` transcript label surfaces lines-read / total.** The Read tool's
51+ transcript label now shows how many lines were read out of the total (e.g.
52+ ` read src/foo.ts (50/200) ` ), so partial reads are visible in the conversation.
53+ - ** Removed obsolete sqlite3 native-binding self-heal.** The workaround for a
54+ Bun/sqlite3 native-binding crash is no longer needed and has been removed.
55+ - ** Dependency bumps.** ` @cursor/sdk ` 1.0.18→1.0.19, ` @opencode-ai/plugin `
56+ 1.17.3→1.17.7, dev-dependencies group bumped.
57+
58+ ## [ 0.4.0] — 2026-06-16
59+
760- ** Fixed: Cursor's ` fast ` tier is no longer silently forced on.** The variant
861 builder only mapped reasoning/effort params and dropped Cursor's ` fast ` toggle
962 entirely, so it never reached ` providerOptions.cursor ` . Because Cursor marks
@@ -14,6 +67,17 @@ All notable changes to this project will be documented in this file.
1467 pinned into each reasoning variant so picking a reasoning level can't re-enable
1568 it) — and a ` fast ` picker variant lets you opt back in. Override per model via
1669 ` provider.cursor.models.<id>.options.params.fast ` .
70+ - ** Installer detects and reuses ` opencode.jsonc ` .** The installer now
71+ recognizes both ` opencode.json ` and ` opencode.jsonc ` and reuses whichever
72+ exists instead of always writing ` opencode.json ` . The plugin is also pinned
73+ to ` @latest ` so opencode re-resolves to the newest release on each startup
74+ (#24 ).
75+ - ** Grep and glob tool blocks get a distinguishing title.** Cursor's ` grep ` and
76+ ` glob ` tools both render as search-result blocks; they now carry distinct
77+ titles so you can tell them apart in the opencode transcript (#22 ).
78+
79+ ## [ 0.3.0] — 2026-06-11
80+
1781- ** Fingerprint-guarded session reuse, now the default (` session: "auto" ` ).**
1882 Previously the provider created a fresh Cursor agent every turn and re-sent
1983 the whole transcript (robust but cache-hostile and increasingly costly as a
@@ -59,6 +123,9 @@ All notable changes to this project will be documented in this file.
59123 transcript with prior tool outputs missing. Outputs are now inlined and capped
60124 (2,000 chars per result, 500 per tool-call args) so context stays faithful
61125 without unbounded bloat.
126+ - ** Patched transitive dependabot vulnerabilities via overrides.** ` undici ` ,
127+ ` tar ` , and ` node-gyp ` pinned via npm ` overrides ` to clear advisories in
128+ transitive dependencies (#16 ).
62129
63130## [ 0.2.0] — 2026-06-11
64131
0 commit comments