Commit 111b0df
authored
Release v0.17.0 - Provider management, custom workspaces, faster sessions, safer settings, more languages and smoother desktop performance (#534)
## Thanks for contributions
- [@pascalandr](https://github.com/pascalandr):
[#242](#242),
[#340](#340),
[#357](#357),
[#406](#406),
[#407](#407),
[#458](#458),
[#472](#472),
[#501](#501),
[#513](#513),
[#528](#528),
[#531](#531)
- [@OfflinePing](https://github.com/OfflinePing):
[#413](#413),
[#497](#497),
[#498](#498),
[#499](#499)
- [@omercnet](https://github.com/omercnet):
[#459](#459),
[#466](#466),
[#512](#512)
- [@VooDisss](https://github.com/VooDisss):
[#493](#493),
[#511](#511)
- [@JDis03](https://github.com/JDis03):
[#481](#481),
[#519](#519)
- [@bluelovers](https://github.com/bluelovers):
[#278](#278),
[#284](#284)
- [@aayurt](https://github.com/aayurt):
[#523](#523)
- [@MusiCode1](https://github.com/MusiCode1):
[#388](#388)
- [@jollyxenon](https://github.com/jollyxenon):
[#439](#439)
## Highlights
- **Provider setup is easier from the model selector**: Manage provider
authentication directly from the place where you choose models, with
provider settings scoped to the current CodeNomad instance.
- **Settings are more useful and transparent**: A new Info section shows
version, runtime, and diagnostic details, and a new global config editor
makes it easier to inspect and update CodeNomad/OpenCode configuration
without leaving the app.
- **Sessions load faster and are easier to find**: Session history now
supports progressive loading, server-side search, and stronger workspace
scoping, making large workspaces feel much more responsive.
- **Workspace names are customizable**: Give workspaces friendlier names
so multi-project and multi-instance setups are easier to recognize.
- **Desktop event handling is faster and more reliable**: Tauri desktop
builds now use a Rust-native event transport for better performance and
fewer moving parts during live session updates.
- **More languages are available**: German and Nepali localization
support was added, and Hebrew translation coverage was improved.
## What’s Improved
- **Better chat readability**: Pasted text can collapse in chat history,
session titles now appear in the header bar, and message timing metrics
make it easier to understand how long responses take.
- **More flexible composer experience**: The session composer can now be
resized, making long prompts and detailed instructions easier to work
with.
- **Safer environment variable editing**: Environment variable values
are hidden and password-style inputs are masked, reducing the chance of
exposing sensitive values on screen.
- **Better permission feedback**: Permission requests now show clearer
rejection feedback, and YOLO mode behavior is shared more consistently
across related session flows.
- **More helpful notifications and logs**: Toast notification history
and server log access were improved so important events are easier to
revisit after they disappear.
- **Cleaner status panels**: Status panel sections can now collapse,
making dense side-panel information easier to scan.
- **Smaller desktop packages**: Electron package size was reduced,
making downloads and installs lighter.
## Fixes
- **More reliable live updates**: SSE pong retry logic and message-load
retry handling were tightened to avoid connection issues and runaway
retry loops.
- **Smoother scrolling while sessions stream**: Virtual
follow/autoscroll behavior is more stable, so active conversations
should jump around less while new content arrives.
- **Better OpenCode SDK compatibility**: CodeNomad now supports OpenCode
SDK 1.16 runtime APIs.
- **More reliable worktree behavior**: Worktree mappings now live in
session metadata, and OpenCode calls are routed through workspaces more
consistently.
- **Better draft prompt handling**: Draft prompt command sessions are
supported more reliably, and switching focus between tabs no longer
accidentally clears prompts.
- **Improved mobile usability**: Instance and project tabs remain
tappable while the session drawer is open, and the folder home screen
behaves better on small mobile viewports.
- **Improved Linux browser launching**: Linux browser launch detection
now checks more common browser candidates.
- **Better plugin handling**: Plugin base URLs work better with host
binding, and tuple-style plugin metadata is supported.
- **Markdown rendering polish**: Horizontal rules now render correctly
in markdown content.
- **Simpler session diff UI**: The session diff right-drawer flow was
removed to reduce UI complexity and avoid confusing side-panel behavior.
## Docs
- **Contributor architecture guide added**: A CodeNomad architecture
guide skill was added to help contributors understand the project
structure and key integration patterns.
- **Quick-start guidance improved**: Authentication requirements and
self-signed certificate warnings were added to the quick-start docs.
- **Release automation documented**: Winget release automation docs and
workflow support were added.
### Contributors
- [@shantur](https://github.com/shantur)
- [@pascalandr](https://github.com/pascalandr)
- [@OfflinePing](https://github.com/OfflinePing)
- [@omercnet](https://github.com/omercnet)
- [@JDis03](https://github.com/JDis03)
- [@VooDisss](https://github.com/VooDisss)
- [@bluelovers](https://github.com/bluelovers)
- [@aayurt](https://github.com/aayurt)
- [@MusiCode1](https://github.com/MusiCode1)
- [@jollyxenon](https://github.com/jollyxenon)
**Full Changelog**:
[v0.16.0...v0.17.0](v0.16.0...v0.17.0)
## Merged Pull Requests
### [@shantur](https://github.com/shantur)
- PR [#446](#446)
“fix(ui): support draft prompt command sessions”
- PR [#452](#452)
“fix(ui): keep home actions visible on short viewports”
- PR [#453](#453)
“Reduce Electron package size”
- PR [#476](#476)
“feat(ui): add instance-scoped provider manager from model selector”
- PR [#477](#477) “Add
global config file editor”
- PR [#514](#514)
“Migrate worktree mappings to session metadata”
- PR [#521](#521)
“fix(worktrees): route OpenCode calls through workspaces”
- PR [#522](#522)
“feat(ui): support custom workspace names”
- PR [#526](#526)
“Support OpenCode SDK 1.16 runtime APIs”
- PR [#529](#529)
“fix(ui): stop message load retry loop”
- PR [#532](#532)
“fix(ui): remove session diff right drawer flow”
### [@pascalandr](https://github.com/pascalandr)
- PR [#242](#242)
“perf(tauri): Rust-native desktop event transport”
- PR [#340](#340)
“feat(ui): show the session title in the header bar”
- PR [#357](#357)
“feat(ui): add message timing metrics”
- PR [#406](#406)
“fix(ui): stabilize virtual follow autoscroll”
- PR [#407](#407)
“feat(ui): collapse pasted text in chat history”
- PR [#458](#458)
“fix(ui): allow status panel sections to collapse”
- PR [#472](#472)
“revert: remove tracked NomadWorks repo state”
- PR [#501](#501)
“fix(ui): support tuple plugin metadata”
- PR [#513](#513)
“chore: TASK-075 automate Winget updates on release”
- PR [#528](#528)
“fix(ui): scope primary agent selector to selectable agents”
- PR [#531](#531)
“revert: remove tracked NomadWorks task artifacts”
### [@OfflinePing](https://github.com/OfflinePing)
- PR [#413](#413)
“feat(settings): add Info section with version, runtime, and
diagnostics”
- PR [#497](#497) “Share
YOLO mode across session families”
- PR [#498](#498)
“fix(ui): render markdown horizontal rules”
- PR [#499](#499) “Add
reject feedback to permission UI”
### [@omercnet](https://github.com/omercnet)
- PR [#459](#459)
“fix(mobile): tappable instance/project tab bar while session drawer is
open”
- PR [#466](#466) “ci:
increase comment-pr-artifacts polling timeout”
- PR [#512](#512) “fix:
handle plugin base URL for host binding”
### [@VooDisss](https://github.com/VooDisss)
- PR [#493](#493) “feat:
add CodeNomad architecture guide skill for contributors”
- PR [#511](#511)
“feat(sessions): progressive loading, server-side search, and workspace
scoping”
### [@JDis03](https://github.com/JDis03)
- PR [#481](#481) “docs:
add auth requirement and self-signed cert warning to quick-start”
- PR [#519](#519)
“fix(ui): add retry logic to SSE pong to improve connection resilience”
### [@bluelovers](https://github.com/bluelovers)
- PR [#278](#278)
“feat(ui): Toast Notification History & Server Logs Enhancements”
- PR [#284](#284)
“fix(ui): hide environment variable values and mask inputs as password”
### [@aayurt](https://github.com/aayurt)
- PR [#523](#523) “Add
German and Nepali Localizations”
### [@MusiCode1](https://github.com/MusiCode1)
- PR [#388](#388)
“Update Hebrew translation coverage”
### [@jollyxenon](https://github.com/jollyxenon)
- PR [#439](#439)
“feat(ui): add resizable session composer”325 files changed
Lines changed: 18247 additions & 16243 deletions
File tree
- .github/workflows
- .nomadworks
- agent-additions
- agents
- generated
- agents
- policies
- policies
- runtime
- discussions/archive
- .opencode
- skills/codenomad-architecture-guide
- references
- docs
- guides
- scrs
- packages
- cloudflare
- electron-app
- scripts
- opencode-plugin
- server
- src
- background-processes
- config
- server
- __tests__
- routes
- workspaces
- __tests__
- tauri-app
- scripts
- src-tauri
- src
- desktop_event_transport
- ui
- src
- components
- file-viewer
- instance
- shell
- right-panel
- tabs
- prompt-input
- provider-auth
- session
- settings
- tool-call
- lib
- hooks
- i18n
- messages
- de
- en
- es
- fr
- he
- ja
- ne
- ru
- zh-Hans
- native
- settings
- stores
- message-v2
- styles
- components
- messaging
- panels
- types
- scripts
- winget
- tasks
- discussions
- done
- todo
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | | - | |
| 64 | + | |
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| |||
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
81 | | - | |
82 | | - | |
| 82 | + | |
| 83 | + | |
83 | 84 | | |
84 | 85 | | |
85 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments