Skip to content

Commit b4ca828

Browse files
committed
chore(release): bump to 1.2.2, rewrite README for EmberHarmony brand
- Bump all 15 packages from 1.2.1 to 1.2.2 - Rewrite README: remove dead solace.ofharmony.ai links, stub package manager commands, and incorrect upstream references; add provider support section; fix acknowledgments to reference opencode-ai/opencode - Update CHANGELOG with full security audit results
1 parent 146a1d6 commit b4ca828

17 files changed

Lines changed: 85 additions & 89 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,33 @@ All notable changes to EmberHarmony will be documented in this file.
55
This project is a fork of [opencode](https://github.com/opencode-ai/opencode),
66
rebranded and maintained by [The Solace Project](https://github.com/SolaceHarmony).
77

8+
## [1.2.2] - 2026-04-09
9+
10+
### Security
11+
- **13 upstream workflows removed** — inherited from opencode fork, exposed
12+
`ANTHROPIC_API_KEY` and `EMBERHARMONY_API_KEY` to fork PRs via
13+
`pull_request_target` without fork detection, and fetched unverified code
14+
via `curl | bash` from the dev branch
15+
- **11 CVEs patched** in dependencies:
16+
- hono 4.11.7 → 4.12.12 (serveStatic file access, cookie injection, prototype pollution)
17+
- vite 7.1.11 → 7.3.2 (arbitrary file read via WebSocket, `server.fs.deny` bypass)
18+
- drizzle-orm 0.41.0 → 0.45.2 (SQL injection via unescaped identifiers)
19+
- fast-xml-parser 5.3.4 → 5.5.11 (entity expansion DoS, regex injection bypass)
20+
- h3 → 1.15.11 (SSE injection, middleware bypass)
21+
- undici → 7.22.0 (WebSocket DoS, request smuggling)
22+
- file-type → 22.0.0 (infinite loop on malformed ASF input)
23+
- **Code injection closed** — removed `new Function()` eval in debug agent CLI
24+
- **Path traversal hardened**`path.resolve()` normalization on server directory param
25+
- **CORS restricted** — enterprise API endpoint locked to known origins
26+
- **Open redirects blocked**`window.location.href` assignments validate HTTPS
27+
- **CSP headers added**`secureHeaders` middleware on Hono server
28+
- **GitHub Actions pinned** — all 13 workflow files use commit SHA references
29+
30+
### Changed
31+
- README rewritten for EmberHarmony brand — removed dead links, stub package
32+
manager commands, and incorrect upstream references; added provider support
33+
section documenting Ollama auto-discovery
34+
835
## [1.2.1] - 2026-04-07
936

1037
### Fixed

README.md

Lines changed: 43 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<a href="https://solace.ofharmony.ai">
2+
<a href="https://github.com/SolaceHarmony/emberharmony">
33
<picture>
44
<source srcset="packages/console/app/src/asset/logo-ornate-dark.svg" media="(prefers-color-scheme: dark)">
55
<source srcset="packages/console/app/src/asset/logo-ornate-light.svg" media="(prefers-color-scheme: light)">
@@ -14,59 +14,44 @@
1414
<a href="https://github.com/SolaceHarmony/emberharmony/actions/workflows/publish.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/SolaceHarmony/emberharmony/publish.yml?style=flat-square&branch=dev" /></a>
1515
</p>
1616

17-
<p align="center">
18-
<a href="README.md">English</a> |
19-
<a href="README.zh.md">简体中文</a> |
20-
<a href="README.zht.md">繁體中文</a> |
21-
<a href="README.ko.md">한국어</a> |
22-
<a href="README.de.md">Deutsch</a> |
23-
<a href="README.es.md">Español</a> |
24-
<a href="README.fr.md">Français</a> |
25-
<a href="README.it.md">Italiano</a> |
26-
<a href="README.da.md">Dansk</a> |
27-
<a href="README.ja.md">日本語</a> |
28-
<a href="README.pl.md">Polski</a> |
29-
<a href="README.ru.md">Русский</a> |
30-
<a href="README.ar.md">العربية</a> |
31-
<a href="README.no.md">Norsk</a> |
32-
<a href="README.br.md">Português (Brasil)</a> |
33-
<a href="README.th.md">ไทย</a>
34-
</p>
35-
36-
[![EmberHarmony Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://solace.ofharmony.ai)
17+
[![EmberHarmony Terminal UI](packages/web/src/assets/lander/screenshot.png)](https://github.com/SolaceHarmony/emberharmony)
3718

3819
---
3920

21+
## What is EmberHarmony?
22+
23+
EmberHarmony is an open source AI coding agent that runs in your terminal. It's provider-agnostic — use it with Claude, OpenAI, Google, local models via Ollama, or any OpenAI-compatible endpoint. It features a rich TUI, built-in LSP support, and a client/server architecture that lets you drive it remotely.
24+
25+
**Key differences from other AI coding tools:**
26+
27+
- 100% open source (MIT)
28+
- Not coupled to any single provider — works with Claude, OpenAI, Google, Ollama, and more
29+
- Out-of-the-box LSP support for intelligent code navigation
30+
- Rich terminal UI pushing the limits of what's possible in the terminal
31+
- Client/server architecture — run on your machine, drive from anywhere
32+
4033
### Installation
4134

4235
```bash
43-
# YOLO
36+
# Quick install
4437
curl -fsSL https://raw.githubusercontent.com/SolaceHarmony/emberharmony/dev/install | bash
4538

46-
# Package managers
47-
npm i -g @thesolaceproject/emberharmony@latest # or bun/pnpm/yarn
48-
scoop install emberharmony # Windows
49-
choco install emberharmony # Windows
50-
paru -S emberharmony-bin # Arch Linux
51-
mise use -g emberharmony # Any OS
52-
nix run nixpkgs#emberharmony # or github:SolaceHarmony/emberharmony for latest dev branch
39+
# npm / bun
40+
npm i -g @thesolaceproject/emberharmony@latest
5341
```
5442

55-
> [!TIP]
56-
> Remove versions older than 0.1.x before installing.
57-
58-
#### Local Build + Install (No CI)
43+
#### Local Build + Install
5944

6045
```bash
6146
bun install
6247
npm run pack:local
6348
# prints a .tgz path you can install, e.g.
64-
# npm i -g /absolute/path/to/emberharmony-1.0.0.tgz
49+
# npm i -g /absolute/path/to/emberharmony-1.2.2.tgz
6550
```
6651

67-
### Desktop App (BETA)
52+
### Desktop App (Beta)
6853

69-
EmberHarmony is also available as a desktop application. Download directly from the [releases page](https://github.com/SolaceHarmony/emberharmony/releases) or [solace.ofharmony.ai/download](https://github.com/SolaceHarmony/emberharmony/releases).
54+
EmberHarmony is also available as a desktop application. Download directly from the [releases page](https://github.com/SolaceHarmony/emberharmony/releases).
7055

7156
| Platform | Download |
7257
| --------------------- | ----------------------------------------- |
@@ -75,75 +60,59 @@ EmberHarmony is also available as a desktop application. Download directly from
7560
| Windows | `emberharmony-desktop-windows-x64.exe` |
7661
| Linux | `.deb`, `.rpm`, or AppImage |
7762

78-
```bash
79-
# Windows (Scoop)
80-
scoop bucket add extras; scoop install extras@thesolaceproject/emberharmony-desktop
81-
```
82-
8363
#### Installation Directory
8464

85-
The install script respects the following priority order for the installation path:
65+
The install script respects the following priority order:
8666

87-
1. `$EMBERHARMONY_INSTALL_DIR` - Custom installation directory (preferred)
88-
2. `$EMBERHARMONY_INSTALL_DIR` - Backward compat
89-
3. `$XDG_BIN_DIR` - XDG Base Directory Specification compliant path
90-
4. `$HOME/bin` - Standard user binary directory (if exists or can be created)
91-
5. `$HOME/.emberharmony/bin` - Default fallback
67+
1. `$EMBERHARMONY_INSTALL_DIR` — custom installation directory
68+
2. `$XDG_BIN_DIR` — XDG Base Directory compliant path
69+
3. `$HOME/bin` — standard user binary directory (if exists)
70+
4. `$HOME/.emberharmony/bin` — default fallback
9271

9372
```bash
94-
# Examples
9573
EMBERHARMONY_INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/SolaceHarmony/emberharmony/dev/install | bash
96-
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://raw.githubusercontent.com/SolaceHarmony/emberharmony/dev/install | bash
9774
```
9875

9976
### Agents
10077

10178
EmberHarmony includes two built-in agents you can switch between with the `Tab` key.
10279

103-
- **build** - Default, full access agent for development work
104-
- **plan** - Read-only agent for analysis and code exploration
80+
- **build** — default, full-access agent for development work
81+
- **plan** — read-only agent for analysis and code exploration
10582
- Denies file edits by default
10683
- Asks permission before running bash commands
10784
- Ideal for exploring unfamiliar codebases or planning changes
10885

109-
Also, included is a **general** subagent for complex searches and multistep tasks.
110-
This is used internally and can be invoked using `@general` in messages.
86+
A **general** subagent is also available for complex searches and multistep tasks. It's used internally and can be invoked with `@general` in messages.
87+
88+
### Provider Support
11189

112-
Learn more about [agents](https://solace.ofharmony.ai/docs/agents).
90+
EmberHarmony works with any OpenAI-compatible API. Built-in support for:
11391

114-
### Documentation
92+
- **Anthropic** (Claude) — Opus, Sonnet, Haiku
93+
- **OpenAI** — GPT-4o, o1, o3
94+
- **Google** — Gemini Pro, Flash
95+
- **Ollama** — local models auto-discovered on startup
96+
- **Any OpenAI-compatible endpoint** — LM Studio, vLLM, Together, Groq, etc.
11597

116-
For more info on how to configure EmberHarmony [**head over to our docs**](https://solace.ofharmony.ai/docs).
98+
Local Ollama models are detected automatically when Ollama is running — no configuration needed.
11799

118100
### Contributing
119101

120-
If you're interested in contributing to EmberHarmony, please read our [contributing docs](./CONTRIBUTING.md) before submitting a pull request.
102+
If you're interested in contributing to EmberHarmony, please read our [contributing guide](./CONTRIBUTING.md) before submitting a pull request.
121103

122104
### Building on EmberHarmony
123105

124-
If you are working on a project that's related to EmberHarmony and is using "emberharmony" or "emberharmony" as a part of its name, please add a note in your README to clarify that it is not built by The Solace Project and is not affiliated with us in any way.
125-
126-
### FAQ
127-
128-
#### How is this different from Claude Code?
129-
130-
It's very similar to Claude Code in terms of capability. Here are the key differences:
131-
132-
- 100% open source
133-
- Not coupled to any provider. EmberHarmony can be used with Claude, OpenAI, Google, or even local models. As models evolve the gaps between them will close and pricing will drop, so being provider-agnostic is important.
134-
- Out of the box LSP support
135-
- A focus on TUI — we are going to push the limits of what's possible in the terminal.
136-
- A client/server architecture. This for example can allow EmberHarmony to run on your computer, while you can drive it remotely from a mobile app. The TUI frontend is just one of the possible clients.
106+
If you are working on a project related to EmberHarmony that uses "emberharmony" in its name, please add a note in your README clarifying that it is not built by The Solace Project and is not affiliated with us.
137107

138108
### Acknowledgments
139109

140-
EmberHarmony is a fork of [EmberHarmony](https://github.com/sst/emberharmony) by the [SST](https://sst.dev) team. We are deeply grateful for their foundational work in building an exceptional open source AI coding agent. This project would not exist without their vision and engineering.
110+
EmberHarmony is a fork of [opencode](https://github.com/opencode-ai/opencode) by the [SST](https://sst.dev) team. We are deeply grateful for their foundational work in building an exceptional open source AI coding agent. This project builds on their vision and engineering.
141111

142112
### Maintainer
143113

144-
**Sydney Renee**sydney@solace.ofharmony.ai
145-
[The Solace Project](https://solace.ofharmony.ai)
114+
**Sydney Renee**[The Solace Project](https://github.com/SolaceHarmony)
146115

147116
---
148117

149-
**Join our community** [Discord](https://discord.gg/EdF8f7JR) | [GitHub Discussions](https://github.com/SolaceHarmony/emberharmony/discussions)
118+
**Community:** [Discord](https://discord.gg/EdF8f7JR) | [Issues](https://github.com/SolaceHarmony/emberharmony/issues) | [Releases](https://github.com/SolaceHarmony/emberharmony/releases)

packages/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thesolaceproject/emberharmony-app",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"description": "",
55
"type": "module",
66
"exports": {

packages/console/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thesolaceproject/emberharmony-console-app",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"type": "module",
55
"license": "MIT",
66
"scripts": {

packages/console/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
33
"name": "@thesolaceproject/emberharmony-console-core",
4-
"version": "1.2.1",
4+
"version": "1.2.2",
55
"private": true,
66
"type": "module",
77
"license": "MIT",

packages/console/function/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thesolaceproject/emberharmony-console-function",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"$schema": "https://json.schemastore.org/package.json",
55
"private": true,
66
"type": "module",

packages/console/mail/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thesolaceproject/emberharmony-console-mail",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"dependencies": {
55
"@jsx-email/all": "2.2.3",
66
"@jsx-email/cli": "1.4.3",

packages/desktop/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@thesolaceproject/emberharmony-desktop",
33
"private": true,
4-
"version": "1.2.1",
4+
"version": "1.2.2",
55
"type": "module",
66
"license": "MIT",
77
"scripts": {

packages/emberharmony/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"name": "emberharmony",
55
"type": "module",
66
"license": "MIT",

packages/enterprise/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thesolaceproject/emberharmony-enterprise",
3-
"version": "1.2.1",
3+
"version": "1.2.2",
44
"private": true,
55
"type": "module",
66
"license": "MIT",

0 commit comments

Comments
 (0)