Skip to content

Commit 89d144d

Browse files
authored
Release v0.15.0 - Git operations, Remote servers with self signed, Markdown previews, Apps don't need Node installed and more (#387)
## Thanks for contributions - [@pascalandr](https://github.com/pascalandr): [#333](#333), [#334](#334), [#336](#336), [#337](#337), [#341](#341), [#342](#342), [#351](#351), [#352](#352), [#360](#360), [#361](#361), [#362](#362), [#366](#366) - [@VooDisss](https://github.com/VooDisss): [#302](#302), [#304](#304), [#311](#311) - [@jollyxenon](https://github.com/jollyxenon): [#386](#386) ## Highlights - **Remote HTTPS is much easier to trust and use**: Connect to self-hosted CodeNomad instances over HTTPS more smoothly, including setups that use self-signed certificates. - **Git changes are much more capable inside the app**: Review diffs with a redesigned Monaco-based experience and a stronger Git Changes workflow that makes working with modified files and worktrees feel more natural. - **File viewing is more useful out of the box**: Markdown files can now be previewed directly, so notes, docs, and READMEs are easier to inspect without leaving CodeNomad. - **Desktop setup is simpler**: CodeNomad no longer depends on a separate Node install in the same way, reducing setup friction and making desktop usage easier to get running. - **Remote and local workflows are more upgrade-friendly**: There is now a dedicated CLI upgrade command, making it easier to keep the underlying tooling current. ## What’s Improved - **Better remote-server integration**: Remote proxy configuration is more flexible, OpenCode authentication is respected more consistently, and remote session handling is easier to reason about. - **Stronger workspace and folder flows**: Folder picking is smoother, selected workspace roots are preserved more reliably, and workspace-scoped session behavior is clearer. - **More polished desktop packaging**: Linux AppImage distribution, Linux icon integration, Windows ARM64 build support, and WSL/Windows path handling all received improvements. - **Cleaner prompt and file tooling UI**: Prompt composer actions are laid out more clearly, file filters behave more predictably, and apply-patch diagnostics are easier to understand. ## Fixes - **More reliable live updates**: Closed SSE streams reconnect more reliably, helping sessions recover more gracefully. - **Less disruptive scrolling while replies stream**: Long responses and streaming output are held more predictably so the view does not jump around as much. - **Better worktree behavior**: Delete-worktree failures now surface clearer diagnostics, and Git/worktree state handling is more dependable overall. - **More stable desktop startup**: Managed server startup, shell environment loading, package/runtime app IDs, and missing-runtime reporting were all tightened up. - **Better power behavior during long sessions**: Wake-lock handling now allows the display to sleep while active work continues, avoiding a more intrusive always-awake experience. ## Docs - **Updated supporting docs**: README and internal documentation were refreshed, including SideCars notes and wake-lock behavior documentation. ### Contributors - [@pascalandr](https://github.com/pascalandr) - [@VooDisss](https://github.com/VooDisss) - [@shantur](https://github.com/shantur) - [@jollyxenon](https://github.com/jollyxenon) **Full Changelog**: [v0.14.0...dev](v0.14.0...dev) ## Merged Pull Requests ### @pascalandr - PR [#333](#333) “feat(tauri): support self-signed remote HTTPS via server-backed proxy” - PR [#334](#334) “fix(desktop): improve Linux desktop icon integration” - PR [#336](#336) “fix(desktop): show explicit missing Node errors” - PR [#337](#337) “fix(build): align Rollup native packages with supported platforms” - PR [#341](#341) “Fix WSL UNC OpenCode binaries on Windows” - PR [#342](#342) “fix(desktop): align Electron package and runtime app ids” - PR [#351](#351) “feat(server): expose opencode server proxy url env” - PR [#352](#352) “feat(ui): add markdown preview to file viewer” - PR [#360](#360) “fix(config): install opencode plugin workspace deps” - PR [#361](#361) “fix(server): preserve selected workspace root” - PR [#362](#362) “fix(ui): reconnect closed SSE streams” - PR [#366](#366) “fix(server): respect configured OpenCode auth” ### @VooDisss - PR [#302](#302) “improve delete worktree failure diagnostics” - PR [#304](#304) “Git diff monaco redesign” - PR [#311](#311) “Refactor Git Changes workflow and diff handling” ### @jollyxenon - PR [#386](#386) “fix(ui): scope session list by workspace folder”
2 parents 43db9cd + 4710748 commit 89d144d

156 files changed

Lines changed: 22521 additions & 5547 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-and-upload.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ jobs:
212212
run: |
213213
set -euo pipefail
214214
shopt -s nullglob
215-
for file in packages/electron-app/release/*.zip; do
215+
for file in packages/electron-app/release/*.zip packages/electron-app/release/*.AppImage; do
216216
[ -f "$file" ] || continue
217217
echo "Uploading $file"
218218
gh release upload "$TAG" "$file" --clobber
@@ -313,7 +313,7 @@ jobs:
313313
run: |
314314
set -euo pipefail
315315
shopt -s nullglob
316-
for file in packages/electron-app/release/*.zip; do
316+
for file in packages/electron-app/release/*.zip packages/electron-app/release/*.AppImage; do
317317
[ -f "$file" ] || continue
318318
echo "Uploading $file"
319319
gh release upload "$TAG" "$file" --clobber
@@ -324,7 +324,9 @@ jobs:
324324
uses: actions/upload-artifact@v4
325325
with:
326326
name: ${{ inputs.actions_artifacts_name_prefix }}electron-linux
327-
path: packages/electron-app/release/*.zip
327+
path: |
328+
packages/electron-app/release/*.zip
329+
packages/electron-app/release/*.AppImage
328330
retention-days: ${{ inputs.actions_artifacts_retention_days }}
329331
if-no-files-found: error
330332

.github/workflows/manual-npm-publish.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ jobs:
4646
publish:
4747
runs-on: ubuntu-latest
4848
env:
49-
NODE_VERSION: 20
49+
NODE_VERSION: 22
50+
PUBLISH_NPM_VERSION: 11.5.1
5051
steps:
5152
- name: Checkout
5253
uses: actions/checkout@v4
@@ -59,17 +60,24 @@ jobs:
5960
node-version: ${{ env.NODE_VERSION }}
6061
registry-url: https://registry.npmjs.org
6162

62-
- name: Ensure npm >=11.5.1
63-
run: npm install -g npm@latest
63+
- name: Prepare pinned npm CLI
64+
shell: bash
65+
run: |
66+
set -euo pipefail
67+
tool_dir="$RUNNER_TEMP/publish-npm"
68+
mkdir -p "$tool_dir"
69+
npm install --prefix "$tool_dir" "npm@${PUBLISH_NPM_VERSION}" --no-audit --no-fund
70+
echo "PINNED_NPM_CLI=$tool_dir/node_modules/npm/bin/npm-cli.js" >> "$GITHUB_ENV"
71+
node "$tool_dir/node_modules/npm/bin/npm-cli.js" --version
6472
6573
- name: Install dependencies
66-
run: npm ci --workspaces
74+
run: node "$PINNED_NPM_CLI" ci --workspaces
6775

6876
- name: Ensure rollup native binary
69-
run: npm install @rollup/rollup-linux-x64-gnu --no-save
77+
run: node "$PINNED_NPM_CLI" install @rollup/rollup-linux-x64-gnu --no-save
7078

7179
- name: Build server package (includes UI bundling)
72-
run: npm run build --workspace packages/server
80+
run: node "$PINNED_NPM_CLI" run build --workspace packages/server
7381

7482
- name: Set publish metadata
7583
shell: bash
@@ -83,7 +91,7 @@ jobs:
8391
echo "PACKAGE_NAME=${{ inputs.package_name }}" >> "$GITHUB_ENV"
8492
8593
- name: Bump package version for publish
86-
run: npm version ${VERSION} --workspaces --include-workspace-root --no-git-tag-version --allow-same-version
94+
run: node "$PINNED_NPM_CLI" version ${VERSION} --workspaces --include-workspace-root --no-git-tag-version --allow-same-version
8795

8896
- name: Set server package name for publish
8997
shell: bash
@@ -107,4 +115,4 @@ jobs:
107115
else
108116
echo "Using NPM_TOKEN authentication"
109117
fi
110-
npm publish --workspace packages/server --access public --tag ${DIST_TAG} --provenance
118+
node "$PINNED_NPM_CLI" publish --workspace packages/server --access public --tag ${DIST_TAG} --provenance
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Repository Agent Additions
2+
3+
Place additive prompt fragments here to append repository-specific instructions to an existing agent.
4+
5+
- Use `.nomadworks/agent-additions/<agent>.md` to add instructions to a bundled or custom repo agent.
6+
- The matching base agent must exist in the plugin bundle or `.nomadworks/agents/`.
7+
- `README.md` is ignored by agent discovery.
8+
9+
## Include Types Available In Additions
10+
11+
Agent additions can use the same include resolution as bundled agents and custom agents:
12+
13+
- `<include:plugin:...>` for plugin-owned shared guidance
14+
- `<include:policy:...>` for repository-overridable policy files with bundled defaults
15+
- `<include:repo:...>` for explicit files under `.nomadworks/`
16+
17+
## Common Plugin Includes
18+
19+
- `plugin:Agents_Common.md`
20+
- `plugin:docs/core/agent_orchestration.md`
21+
- `plugin:docs/core/communication_guidelines.md`
22+
- `plugin:docs/core/discussion_agent_guidelines.md`
23+
- `plugin:docs/core/role_contracts.md`
24+
- `plugin:docs/core/task_model.md`
25+
- `plugin:docs/core/codemap_conventions.md`
26+
27+
## Available Policy Includes
28+
29+
- `policy:development-guidelines.md`
30+
- `policy:testing-guidelines.md`
31+
- `policy:documentation-guidelines.md`
32+
- `policy:git-commit-messaging.md`
33+
- `policy:product-guidelines.md`
34+
- `policy:ui-ux-guidelines.md`

.nomadworks/agents/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Repository Agents
2+
3+
Place full repository-local agent definitions here.
4+
5+
- Use `.nomadworks/agents/<agent>.md` to override a bundled agent's full base definition.
6+
- Use `.nomadworks/agents/<agent>.md` to define a brand new custom repository agent.
7+
- Files in this folder are treated as full agent definitions.
8+
- `README.md` is ignored by agent discovery.
9+
10+
## Include Types Available In Custom Agents
11+
12+
Custom agents can use the same include resolution as bundled agents:
13+
14+
- `<include:plugin:...>` for plugin-owned shared guidance
15+
- `<include:policy:...>` for repository-overridable policy files with bundled defaults
16+
- `<include:repo:...>` for explicit files under `.nomadworks/`
17+
18+
## Common Plugin Includes
19+
20+
- `plugin:Agents_Common.md`
21+
- `plugin:docs/core/agent_orchestration.md`
22+
- `plugin:docs/core/communication_guidelines.md`
23+
- `plugin:docs/core/discussion_agent_guidelines.md`
24+
- `plugin:docs/core/role_contracts.md`
25+
- `plugin:docs/core/task_model.md`
26+
- `plugin:docs/core/codemap_conventions.md`
27+
- `plugin:docs/core/pma_mode_full.md`
28+
- `plugin:docs/core/pma_mode_mini.md`
29+
- `plugin:docs/core/tech_lead_mode_full.md`
30+
- `plugin:docs/core/tech_lead_mode_mini.md`
31+
32+
## Available Policy Includes
33+
34+
- `policy:development-guidelines.md`
35+
- `policy:testing-guidelines.md`
36+
- `policy:documentation-guidelines.md`
37+
- `policy:git-commit-messaging.md`
38+
- `policy:product-guidelines.md`
39+
- `policy:ui-ux-guidelines.md`
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Generated Agent Prompts
2+
3+
This folder contains generated final prompt dumps for inspection.
4+
5+
- Files here are generated by NomadWorks and may be overwritten.
6+
- Do not edit files here to customize agent behavior.
7+
- Use `.nomadworks/agents/` for full agent definitions and `.nomadworks/agent-additions/` for additive instructions.

0 commit comments

Comments
 (0)