Skip to content

Commit f804766

Browse files
authored
Merge pull request #20 from getcodesetu/feature/roadmap-now-next-soon
Feature/roadmap now next soon
2 parents 87e4cc9 + 03378a1 commit f804766

3 files changed

Lines changed: 63 additions & 42 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,6 @@ For human-friendly, themed highlights see [Release Notes](docs/RELEASE_NOTES.md)
1111

1212
## [Unreleased]
1313

14-
### Added
15-
16-
- **JetBrains: parity for index freshness, always-on retrieval, and multi-session
17-
history** (plugin 0.4.14): auto re-index `@workspace` after a save (debounced;
18-
toggle in Settings ▸ Tools ▸ CodeSetu), an "always retrieve every turn" option,
19-
and a **Chat history…** switcher (composer menu) backed by saved sessions —
20-
New chat now starts a fresh session and the old one is kept. Settings UI gains
21-
a **@workspace** group (embedding base URL/model + the two toggles). Brings
22-
JetBrains level with VS Code 0.4.14.
23-
- **Auto re-index `@workspace` on save** (VSCode 0.4.14): when an index already
24-
exists, CodeSetu re-indexes incrementally a few seconds after you save a file,
25-
so retrieval stays fresh without re-running the command. Toggle with
26-
`codesetu.workspaceIndex.autoReindex` (default on). It never auto-builds — only
27-
refreshes an index you've already created.
28-
- **Always-on `@workspace` retrieval** (VSCode 0.4.14): set
29-
`codesetu.workspaceIndex.alwaysRetrieve` to pull relevant indexed code into
30-
every chat turn, not only when you type `@workspace`. Retrieves silently when
31-
an index exists (never triggers a build).
32-
- **JetBrains: full composer parity with VS Code** (plugin 0.4.13): Agent Mode
33-
is now the **default** for new chats; a **version badge** (`v<x.y.z>`) sits by
34-
the model picker; typing `@` offers a dedicated **@workspace** entry (inserts
35-
the literal mention instead of pinning a file); and the slash palette includes
36-
**`/edit`**, which runs the Edit with CodeSetu diff flow (per-hunk
37-
accept/reject) on the active editor using the text after the command.
38-
- **JetBrains: Context & activity panel** (plugin 0.4.12): the per-turn panel
39-
(renamed from "Context sent to AI") now shows the **provider · model ·
40-
endpoint**, whether **Agent Mode** is on, an expandable **Tools available (N)**
41-
list, and the **@workspace** outcome (retrieved N chunks with the file hits, or
42-
the failure reason) plus pinned/retrieved counts — matching VS Code. (Tool
43-
calls actually _used_ during a turn already stream inline as `🔧` lines.)
44-
- **JetBrains: `@workspace` auto-builds the index on first use** (plugin 0.4.11):
45-
typing `@workspace …` when no index exists now builds it automatically before
46-
retrieving (off the EDT), instead of silently returning nothing — matching the
47-
VS Code behaviour. A down/misconfigured embeddings endpoint surfaces an error
48-
in the chat rather than breaking the turn. The **Index Workspace** command
49-
remains for explicit rebuilds.
50-
5114
### Planned for v0.1
5215

5316
- Inline FIM completions via Sarvam-30B
@@ -59,6 +22,47 @@ For human-friendly, themed highlights see [Release Notes](docs/RELEASE_NOTES.md)
5922

6023
---
6124

25+
## [0.4.14] - 2026-07-01
26+
27+
VSCode and JetBrains are aligned at 0.4.14.
28+
29+
### Added
30+
31+
- **Auto re-index `@workspace` on save** (VSCode + JetBrains): when an index
32+
already exists, CodeSetu re-indexes incrementally a few seconds after you save
33+
a file, so retrieval stays fresh without re-running the command. Toggle:
34+
`codesetu.workspaceIndex.autoReindex` (VSCode) / Settings ▸ Tools ▸ CodeSetu
35+
(JetBrains); default on. Never auto-builds — only refreshes an existing index.
36+
- **Always-on `@workspace` retrieval** (VSCode + JetBrains):
37+
`codesetu.workspaceIndex.alwaysRetrieve` pulls relevant indexed code into every
38+
chat turn, not only when you type `@workspace`. Retrieves silently when an
39+
index exists (never triggers a build).
40+
- **Multi-session chat history in JetBrains**: a **Chat history…** switcher
41+
(composer menu) backed by saved sessions; New chat starts a fresh session and
42+
keeps the old one. (VSCode already had this.)
43+
- **Full composer parity in JetBrains**: Agent Mode is the **default** for new
44+
chats; a **version badge** (`v<x.y.z>`) sits by the model picker; typing `@`
45+
offers a dedicated **@workspace** entry (inserts the literal mention instead of
46+
pinning a file); the slash palette includes **`/edit`**, which runs the Edit
47+
with CodeSetu diff flow (per-hunk accept/reject) on the active editor.
48+
- **Context & activity panel in JetBrains**: the per-turn panel shows the
49+
**provider · model · endpoint**, whether Agent Mode is on, an expandable
50+
**Tools available (N)** list, and the **@workspace** outcome (retrieved files,
51+
or the failure reason) plus pinned/retrieved counts — matching VS Code.
52+
- **JetBrains: `@workspace` auto-builds the index on first use**: typing
53+
`@workspace …` with no index builds it automatically before retrieving (off the
54+
EDT) instead of silently returning nothing; a bad embeddings endpoint surfaces
55+
an error rather than breaking the turn. The **Index Workspace** command remains
56+
for explicit rebuilds.
57+
58+
### Fixed
59+
60+
- **JetBrains: version badge no longer uses an internal API** — read the version
61+
from the shipped `plugin.xml` instead of `PluginManagerCore.getPlugin`, clearing
62+
the Plugin Verifier "internal method usage" finding.
63+
64+
---
65+
6266
## [0.4.10] - 2026-06-24
6367

6468
### Added

‎apps/jetbrains/src/main/kotlin/ai/codesetu/toolwindow/ChatWebviewHtml.kt‎

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package ai.codesetu.toolwindow
22

33
import ai.codesetu.settings.CodeSetuSettingsState
44
import ai.codesetu.skills.loadBuiltinSkills
5-
import com.intellij.ide.plugins.PluginManagerCore
6-
import com.intellij.openapi.extensions.PluginId
75
import java.net.URI
86
import java.nio.charset.StandardCharsets
97

@@ -33,9 +31,19 @@ object ChatWebviewHtml {
3331
.replace("__VERSION__", escapeHtml(pluginVersion()))
3432
}
3533

36-
/** The installed plugin version, shown as a badge so a stale build is obvious. */
37-
private fun pluginVersion(): String =
38-
PluginManagerCore.getPlugin(PluginId.getId("ai.codesetu.codesetu"))?.version ?: ""
34+
/**
35+
* The plugin version, read from the shipped plugin.xml (patched with the real
36+
* version at build time). Avoids the internal `PluginManagerCore.getPlugin`
37+
* API flagged by the Plugin Verifier; shown as a badge so a stale build is
38+
* obvious.
39+
*/
40+
private val version: String by lazy {
41+
val xml = ChatWebviewHtml::class.java.getResourceAsStream("/META-INF/plugin.xml")
42+
?.use { String(it.readAllBytes(), StandardCharsets.UTF_8) } ?: return@lazy ""
43+
Regex("<version>([^<]+)</version>").find(xml)?.groupValues?.get(1)?.trim() ?: ""
44+
}
45+
46+
private fun pluginVersion(): String = version
3947

4048
private fun speechConfigJson(state: CodeSetuSettingsState.State): String =
4149
"{\"sttProvider\":${jsonString(state.speechSttProvider)}," +

‎apps/jetbrains/src/main/resources/META-INF/plugin.xml‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@
5757
]]></description>
5858

5959
<change-notes><![CDATA[
60+
<h3>0.4.14</h3>
61+
<ul>
62+
<li><b>@workspace — semantic codebase search</b> — index your repo and retrieve code by meaning. Auto-builds on first use, auto re-indexes after you save, and an optional "always retrieve every turn" mode. Runs on any OpenAI-compatible embeddings endpoint.</li>
63+
<li><b>Agent Mode is now the default</b>, and works with models that lack native tool-calling (e.g. Gemma) via prompted tool-calls.</li>
64+
<li><b>Context &amp; activity panel</b> — every turn shows the provider · model · endpoint, the tools available, and the @workspace results; a version badge sits by the model picker.</li>
65+
<li><b>/edit</b> — rewrite a selection/file from an instruction with a diff preview and per-hunk accept/reject (command and <code>/edit</code> slash).</li>
66+
<li><b>@folder pinning</b> and a <b>multi-session chat history</b> switcher.</li>
67+
<li><b>On-prem Docker installer</b> — self-host chat + embeddings fully inside your network (air-gapped friendly).</li>
68+
</ul>
6069
<h3>0.4.1</h3>
6170
<ul>
6271
<li><b>Inline FIM completions</b> — ghost-text suggestions as you type, debounced and cached so re-triggering at the same spot avoids a redundant model call.</li>

0 commit comments

Comments
 (0)